8puzzle solved. TODO: detect infeasible puzzles