Earlier quoted context omitted.
If the real puzzle solver didn't see this coming, he kinda does deserve it. Bitcoin blocks takes 10-20 minutes to confirm. This leaves enough time for a bot/human to take over. I am pretty sure he could have contacted a miner/pool and arranged a deal with them.
Can you explain that? So the real puzzle solver could have theoretically triggered the transaction, but lurking bots are stealing the transaction from them?
I'll try to give a brief here about how Bitcoin script works but you'd better read up on the Bitcoin wiki.
Essentially, to make a transaction valid, your script needs to pass.
1. + -> This is how most transactions are handled. You provide the transaction with a signature. This doesn't expose your private key and lock the receiver. (as the receiver is signed)
2. + -> To solve for Hash, you need to provide the Hash Content essentially solving the puzzle. Problem is, if you provide the Hashed Content publicly in the Script, anyone can also submit a competing transaction and set himself as the receiver.