First, what do we know about this puzzle? - There are 5*7*8*11 = 3080 possible positions. - Moves do not affect each other, so if you have a good set of moves, you can do them in any order. Given this, it is a relatively simple algorithm to find the shortest sequence of moves. What I did was to start with a list containing only (0,0,0,0), then for each item in that list, I did a +5,-5,+7,-7,+8,-8,+11,-11. For each item produced by this, I check if it is in the list and if not, add it to the end. I had it stop when it got to (3,3,3,3). (0,0,0,0) -> +5<br> (1,2,2,2) -> +7<br> (4,3,4,4) -> -8<br> (1,5,3,2) -> -8<br> (3,0,2,0) -> -8<br> (0,2,1,9) -> -8<br> (2,4,0,7) -> -8<br> (4,6,7,5) -> -11<br> (1,1,1,4) -> -11<br> (3,3,3,3) So the minimum number of moves is 9. One example is(just reversing my list):<br> +11,+11,+8,+8,+8,+8,+8,-7,-5 I am going to analyze this a little more and add further findings.