I semi-solved this one too, before turning on the computer. (One of my variations had a flaw in it down the line.)
Black plays 16. ... Nd4! (The knight is no longer under attack and tempos off the queen.) White plays 17.Nxd4.
Black To Move
It's not simply Nxd4, which doesn't work. It's 17. ... Qh4+!
Then 18.Kd2 (better than 18.Kc2 because of Bxc2 with check possibilites that may arise after Nf3 ... with a king on d2 Nf3 Bxc2 Nxh4 is ok. Not being in check (on c2) makes all the difference.)
So 18.Kd2 Bxe4
White's queen and rook are forked. He has two possibilities here
19.Nf3 (counterattacking the queen) or 19.Qa4+ (simply saving the queen).
Let's look at 19.Qa4+ first.
19.Qa4+ Kf8 20.Nf3 (to save d4 and h1) Bxf3 21.exf3 Qd4+ picks up a1 and wins (The computer prefers 21. ... Qf4+, but this is simpler.)
That leaves 19.Nf3
Here is where I speedily made a miscalculation on my real board. I only looked at 19. ... Qf4+ 20.e3? but 20.Kc3! is much better.
The computer gives 20. ... Qf5! with a slight !!! edge to white.
Black has better on move 19 though.
19. ... Bxf3! 20.exf3 Qf2+! wins
21.Kd3 runs into Qxf3+ and Qxh1 ... 21.Be2 runs into Qd4+! and Qxa1
One of the rooks is going to fall!
This reminds me of a similar trick in a line of the Scotch Game:
It's not quite the same, I guess. In the final position, a rook falls. (12.Kxf2 Qd4+/12.Qxf2 Qe4+)
We have now seen the refutation of 16.e4.
Back to the game ...
Here black makes a fatal error and plays 16. ...Be4.
16. ... e4 gave better chances.
After 16. ... e4 17.Nd4 Bd7 18.dxc6 Bxc6 19.Nxc6 (Best ... other only +=)Qxa1 20.Nd4+ Kf8 21.Qc2 a5.
White is better, but this is better than what can happen after 16. ...Be4.
Back to that ...
17.dxc6 (17.Rg1 better) 17. ... b5?!!
This doesn't quite work, but black must be commended for his fighting spirit.
17. ... Bxc6 18.Qc2! e4 19.Bb2 wins for white too.
18.Qxb5 was much better.
I'm sure by now the game took a big strain on both players. They are after all, human.
The idea of 18.Qxb5 is that Bxf3 19.exf3 Qxf3 can be met cleanly by 20.Qd5!, saving the rook and removing the deadly queen from f3.
We now return to 18.cxb5?! .
After 18. ... Bxf3 19.exf3, black missed a nice simple way to complicate.
Black To Move
Final Post In A Few