sliding tile puzzle algorithm