White to move! How should white proceed?
Wow, what a fascinating position! Clearly, the obvious 1.Bxb7 is going to fail to win after 1....Nd6+:
1.Bb7? Nd6! 2.Bd6 Bd6 3.b5 ab5 4.a6 Bc5 and white won't be able to advance the a-pawn, will have to keep his king near the kingside just to avoid losing.
I think 1.Kf3 is the way to go:
If black tries 1...Bxh4, then 2.Bxb7 suddenly works since Nd6 is no longer possible, and the bishop is denied access to the g1/a7 diagonal- white will win easily with the a-pawn. So, I think getting the dark square bishops off the board is the only hope giving the knight access to the queenside. Continuing:
2.Bd6 Nd6 3.Kf4!! and suddenly black is in zugzwang- if the king moves white either gets to win the kingside pawns with Kg5 or gets to play Ke5 driving the knight away from protecting the queenside pawns. This leaves only....
3....g5 4.hg5+ Kg6
If black tries 4...Ke7, then 5.Kg3! going for the h-pawn will win easily, but now after 4....Kg6, white just waits....
5.Bf3! h4 one last trick..... 6.Bg2! Kh4 (nothing better now) 7.Ke5 Nf7 8.Kf6 Ng5 9.Bb7 and white wins this easily since after 10.b5, the a-pawn will queen and guard h1 safely even if black imposes the knight at f3 after Kg4- white will just take the knight and then queen, or vice versa.