This is a lovely endgame from Chess in U.S.S.R. (1935). White to play and win.
2B3K1/8/3N1p1p/6pk/5P1P/6P1/7r/5r2 w - - 0 1
Note: If you want to check your solution, any decent chess engine such as Crafty used with XBoard or Scid can give you a good analysis for this problem. Do not use the GNU Chess engine for this problem, as it fumbles and completely loses white's advantage.
In this position, black's king can move to just one square g6 and back. It is otherwise blocked by white's bishop and its own pawns. 1. Ne8 ... 2. Ng7+ Kg6 3. Bf5# is a line that white would want to play. Black knows this. So it counters with 1. ... Kg6 which is an impressive move as the knight cannot attack it anymore. Black could have played 1. ... f5 to block the bishop and let its king move to g4, but that'd have led to 2. Bxf5 ... 3. Ng7#.
1. Ne8 Kg6
White knows that black's king is trapped in g6. It can check the black king and force a rook move by playing 2. f5+ ..., but that would lead to 2. ... Rxf5 3. Ng7 ... and not lead anywhere with the loss of a pawn. With the other way 2. h5+ ..., black can play either 2. ... Kxh5 or 2. ... Rxh5. The former would lead to a mate as 2. ... Kxh5 3. Ng7+ Kg6 4. Bf5#. So this forces the rook move.
1. Ne8 Kg6 2. h5+ Rxh5
Now, white would like to mate by playing the following: 3. f5+ ... forces 3. ... Rxf5. Then white would play 4. g4 ... wishing to finish the game with 5. Bxf5#. Black, sensing the threat, moves the rook in f5 out of the way, still attacking that square.
1. Ne8 Kg6 2. h5+ Rxh5 3. f5+ Rxf5 4. g4 Rf4
White then has a definite mate with 5. Ng7 ... 6. Bf5#.
1. Ne8 Kg6 2. h5+ Rxh5 3. f5+ Rxf5 4. g4 Rf4 5. Ng7 Rxg4 6. Bf5# (PGN file)
This is truly a sweet endgame.