http://www.math.ubc.ca/~cass/courses/m308-02b/projects/grant/fifteen.htmlhttp://jamie-wong.com/2011/10/16/fifteen-puzzle-algorithm/