Hi folks,
I've read many times about this idea and I like you to present my implementation.
I'll do some further improvements but it works like a charm currently and has a high code coverage.
You can create a database (or use my precomputed) containing addresses with amount.
Afterwards you can use a CPU and/or OpenCL to create many private keys and the corresponding public addresses and check if the address was already used and check if the address has an amount.
I know it's unlikely to find one.
This tool is able to crack a puzzle transaction much faster than every other existing tool.
https://github.com/bernardladenthin/BitcoinAddressFinder
Feel free to use it, improve it or write me some suggestions.
Cheers and greetings from Berlin, Bernard