15-puzzle solver