Heuristic search. Superfast, but can make mistakes

Still needs some debugging, but it's doing 0.02 seconds on the hardest
problem