Calculate the first N unknown moves of a chess game Greetings fellow chess friends,

Here is a quick idea that came to my mind.

I am interested in writing a software that is able to calculate and/or guess the first n unknown moves of a given chess game.
For example take this game:


?? ??
?? ??
Nf3 b6 
g3 Ba6 
Nbd2 Bb4
a3 Bxd2+ 
Nxd2 Bb7 
Nf3 d5 
cxd5 Bxd5 
Bg2 O-O 
O-O Nbd7
Bf4 c5 
dxc5 1/2-1/2 


You don't know the first two moves. Would it be possible to "calculate" them from the rest of the game and if yes, with what certainty? For example the move 9. cxd5 implies that a pawn has been placed on c4 earlier during the game.

Do you think this would be possible and if yes, for what maximum amount n of unknown moves?

Cheers

(Edit: corrected the 8th move, but need 6 characters to edit)
Well, this should be semi-simple for a computer, at least. We know with absolute certainty that there are only 20 possible moves for both black and white (pawns and knights) on the first turn. After that, the only possible moves are moving the piece moved again, moving another pawn or knight, or moving a piece freed by the first move.

Knowing this, we can calculate the number of possible board positions after two turns. Luckily this has already been done here:


  There are 400 possible chess positions after two ply moves (first ply move for White followed by first ply move for Black). 
  There are 5,362 possible positions (White’s second ply move) or 8,902 total positions after two ply moves each. There are 71,852 possible positions or 197,742 total positions after four moves.


This is a LOT, but it is possible to at least guess which one was used in the game.

The method I propose is to go though all of the movements of the game after the first four, but starting with the default chessboard as if the game had only just started. If a move occurs which is impossible, this indicates that this move has been made by a piece moved in the first two turns.

Despite this, there could be cases where a pawn moved on white's first turn and a pawn moved on white's third turn can take the same piece. If white takes with the pawn moved on the first turn, there would be no way to spot this, since you would assume the pawn moved on the third turn was used.

Sorry that this is only a half-answer; I will try to find more information to improve this.