Surprising as it may seem, the solution can be worked out by pure logic. The first thing we note is that Black can only have moved his knights, and maybe his rooks. Looking at White's position, if we count up the minimum number of moves he needs to reach this position, we have the following: 3 pawn moves, one each with the QB and each knight, two with the queen and four with the rook (the latter can only move once the QN and QB have moved, so the rook must have gone via c1-c3-f3-f6). That is a total of 12, so we have accounted for all the white moves. That in turn means that the missing white d-pawn must have been captured on its initial square, d2, and by a black knight.
So we know that a black knight must have taken on d2, and then moved away, so as to allow the next white moves. The latter must have been, in sequence, Bh6, Nbd2, Rc1, Rc3, Rf3, Rf6 and then pawn f4 and Ngf3.That is eight white moves. We therefore know that the black knight had to take on d2 and move away, inside the first four moves, to enable White to get his next 8 moves in. The only black knight which could possibly have done this in time is the knight from g8 - Black's first four moves were therefore Nf6-Ne4-Nxd2 and then N-somewhere.
So what was White doing in his first four moves? He must have played c4, e4 and Qa4-Qc6, as these are the only moves not accounted for. Since the pawn could not have gone to e4 until after Black had played Nxd2, we can be certain of the initial moves on both sides, which must have been 1.c4 Nf6 2.Qa4 Ne4 3.Qc6 Nxd2. 4.e4 and now the BN on d2 must have gone somewhere.
The next question is where? The answer must be b3, since it cannot take on c4,e4, f1 or b1 , nor give a check on f3. So we have 4...Nb3.
Now we have to consider what Black's remaining eight moves were. His knight must get back to g8, but without taking the white pieces which come to h6 and f6. The trouble is, the white rook lands on f6 in only six moves' time, so the black knight has only five moves to reach g8. A quick look reveals that it cannot do this, unless it goes via c5-e4-f6-g8, which is not possible, because the knight cannot take the e4-pawn.
If the Nb3 cannot get to g8 in time, then, ergo, the knight which ends up on g8 must be the one that started on b8 - the knights must swap places! This confirms the truth of Murray Chandler's Law in such proof games, which says that if the position involves two knights on their starting squares, the solution always involves swapping them over! Black's next five moves must be Na6-Nb4-Nd5-Nf6-Ng8. Having done that, the other knight then moves Nc5-Na6-Nb8, completing the arrangement!
The full solution is therefore as follows:
This lovely problem is by the Finnish composer Heinonen and is taken from Christian Hesse's book, The Joys of Chess. A full review of this wonderful book will appear over the weekend.