New impl that seeks the most constrained point for each move.

Not working for all puzzles yet.