Man, I has forgotten how technical Uni professors required proofs to be in a test. Well, for a Maths degree anyway.
I just wanted to add, in @ArsenLapin1 's favor, that @Vsotvep 's proof is existential. However, there is also a constructive proof (and, therefore, an algorithm).
Notice there are, at most P = 3361 × 2 positions that you can create in a board, that is 3 for every state (black, white, empty) times 2 for which player is to move next. I’m including the last bit so that it works for both positional and situational superko.
So basically, you create a tree of board positions, stemming from the empty board, and branching into all possible moves from every given node. The tree is finite because there’s always a finite number of branches off of every node, and it cannot have a depth larger than P, or it would repeat a board position (I suppose you can include passing as a valid move, and it would make the tree a bit larger, but still finite).
You’d then take all end positions and score them (without komi, just the value on the board). This part may go into trouble; simplest solution would be “everything on the board is alive, territory is empty space adjacent to a single color, everything else is dame”.
Then you work up the tree using Minimax which gives you a specific number for every node. That number is the best score that the player whose turn it is to move can hope for (has a strategy for).
Now, there is a number k for the root node, the empty board. That means, optimal strategy ends up with k points for Black. k, of course, could be positive, or negative, or even zero, but it is a unique integer (heuristically, k is probably around 7, I guess). So k would be called the Theoretically Fair Komi, because it is what you need to subtract from the final score in order to get a tie, if both players played optimally.
Now, this may be a bit convoluted, but the difference with Vsotvep’s proof is that it is technically possible for a computer (or a human, for that matter) to just do this and solve Go. It is just unfeasible, both in time and resources; you’d need several universes worth of everything.