FREE - In Google Play
FREE - in Win Phone Store
Ah yes, that was extremely difficult. At first glance, you don't really see any particular problems with the study. But the retrocage is indeed a tough one to release. However, those empty squares allow for an extra flexibility to exploit.
Seemingly, there is no way to release the retrocage. But there is one approach - black retracts Qh1, which means there was a piece on h2. Now, whichever piece it was, even a knight, it cannot escape. That means the piece was captured within the retrocage. And that means that it must be a white piece, because black has no pieces to spare.
However, the black queen cannot capture that piece (let's call it "X") withought cheking the white king. So, another black piece captured X (let's call it "Y)". But now again, the white queen cannot capture Y, because black has no pieces to spare. This means that Y captured X and escaped. Obviously, Y can only be a black knight. Now, this black knight can only capture X on g2, because h2 is unreachable. This means that X is a white rook and we made some progress.
Moving on. The only move that can lock the retrocage is e3. This is important to recognize - those two black rooks have zero flexibility if e3 was played before f4 and g5. That means that the black queen was on h1 (with a white rook on h2), the black king on g1 (with another piece on g2), and the other white rook on e1 (with another piece on f1). So the next step is to realize which pieces were on g2 and f1.
The piece that was on f1 suffers the same fate as the white rook on h2. It cannot escape. This means that it was captured. It can only be captured by the black king. Mystery solved - a white knight.
Final step, which piece is on g2? Here, I first considered a black knight, which later jumps to e1 once it is available, then white moves his rook to g2, then the black knight captures the rook and escapes quickly to be captured by white's a pawn axb8=B. However, this strategy is not good enough, because if the black knight is on g2 when white plays e3, black has no moves and have to waste his tempo moves - playing c6, c5 etc... and at the end, he is short of tempo. This is where I got stuck.
Finally I realized there is a double maneuver involved. The piece that was on g2 was in fact a white knight, which later escapes and get captured by black's a pawn axb2 and b1=N. This leaves black later with the tempo moves c6 etc... The black knight enters the retrocage to capture the white rook on g2, then returns to be captured by white's a pawn. Some accuracy is required in the final pawn moves. At the end of the day, black must have promoted to a knight.