Solves sliding block puzzles. Number of blocks, size of blocks, and size of board varies