Puzzle of the week #366

Level: 
3-Bishop
Chess Diagram: 

[Event "Puzzle #366"][Date "2019.03.31"][Result "1-0"][SetUp "1"][FEN "rn3r1k/6pp/1pN2p2/p3N3/1P5q/PQ2PPp1/5n2/2R3K1 w - - 0 1"]

This puzzle was created more than 280 years ago and it has forced generations of chess lovers to come up with a solution for white. Your tasks:
a) Explain why does white must find a solution?
b) What kind of solution must white find?
c) White to move and win

Total available points for this puzzle is 25. The answers will be published next time together with puzzle #367.

Puzzle #365 solution:
Visser - Speelman, Howard Staunton Memorial 2006. This week's best answers are by the top scorers:
a) The e7-Bishop defends the g5-Rook and stops a checkmate on h7
b) Black is going to blow up the f2-pawn to open up the g1-a7 diagonal

[Event "Puzzle #365"][Date "2019.03.24"][Result "0-1"][SetUp "1"][FEN "5rk1/p2Rb3/1q2p3/1p3pr1/4B1nQ/2P3P1/PP3P1P/5RK1 b - - 0 1"]1... Nxf2 2. Bf3 (2. Rxf2 fxe4 3. Rxe7 Qxf2+ 4. Kh1 Qf1#) (2. Bc2 Ne4+ 3. Kg2 Rxg3 4. Kh1 Qg1+ 5. Rxg1 Nf2#) 2... Ne4 3. Kg2 (3. Kh1 Rxg3 4. Qxg3 (4. hxg3 Bxh4) (4. Qf4 Qg1+ 5. Rxg1 Nf2#) 4... Nxg3+ 5. hxg3) 3... Rxg3 4. Qxg3 Nxg3 5. Kxg3

Correct solutions:
Joey, Eric - 20 points
Aiden, Matthew - 16 points
Coby - 14 points
Brian, Mengbai, Glyn - 11 points
Blake - 8 points
Lucas - 5 points

Standings:
Aiden - 140 points
Matthew - 136 points
Eric - 121 points
Zhengyu - 108 points
Coby - 106 points
Joey - 105 points
Walter - 95 points
Glyn - 83 points
Brian - 76 points
Mengbai - 73 points
Lucas - 71 points
Blake - 69 points
Lyvia - 45 points

Comment: 

Checkmate in 5