I took this puzzle from an old SNES game called Lufia 2: Rise of the Sinistrals. In the game, it is considered to be the "worldest most difficult trick," and it is hard! I had to use a walkthrough to beat it... but the solution took well over 200 steps, and I thought there had to be an easier way. I simplified the walkthrough's solution to 176 steps, but I still thought I could do better. So I wrote this program for both manual and automatic analysis of the game. What I found (and you can see how to generate the same findings by looking at the generateAllSolutions() method in DifficultPuzzle.java if you are so inclined) is that there is a solution only requiring 116 steps. Assuming my program is flawless (how could it be otherwise?), this is the best solution.