Copyright (c) James A. Storer

Sliding Three Part 1

Generalized rectilinear movement is computed.
One move is pushing a single piece with one finger,
where that piece may push or drag other pieces with it.
A second finger may NOT be used to aid movement,
prevent a piece from being dragged to far, etc.

If pieces (except for X) are not allowed to push other pieces,
move 7 can be replaced by 2 moves and move 26 by three moves
for a solution of 34 rectilinear moves.
In additon, move 17 can be replaced by two moves for
a solution of 35 restricted rectilinear moves.

######################################################################
Generalized Rectilinear steps: 31
######################################################################

#0:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X A A A A B B B B X  
  X A a a A B b b B X  
  L L a a M M b b R R  
  L L     M M     R R  

#1. Move a:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X A A A A B B B B X  
  X A     A B b b B X  
  L L a a M M b b R R  
  L L a a M M     R R  

#2. Move b:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X A A A A B B B B X  
  X A     A B     B X  
  L L a a M M b b R R  
  L L a a M M b b R R  

#3. Move X:
    X X X X X X X X X X
    X X X X X X X X X X
    X A A A A B B B B X
    X A     A B     B X
  L L a a M M b b R R  
  L L a a M M b b R R  

#4. Move L:
L L X X X X X X X X X X
L L X X X X X X X X X X
    X A A A A B B B B X
    X A     A B     B X
      a a M M b b R R  
      a a M M b b R R  

#5. Move a:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X A A A A B B B B X
a a X A     A B     B X
          M M b b R R  
          M M b b R R  

#6. Move M:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X A A A A B B B B X
a a X A     A B     B X
  M M         b b R R  
  M M         b b R R  

#7. Move R:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X A A A A B B B B X
a a X A     A B     B X
  M M b b R R          
  M M b b R R          

#8. Move B:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X A A A A         X
a a X A     A         X
  M M b b R R   B B B B
  M M b b R R   B     B

#9. Move A:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X         A A A A X
a a X         A     A X
  M M b b R R   B B B B
  M M b b R R   B     B

#10. Move b:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X b b     A A A A X
a a X b b     A     A X
  M M     R R   B B B B
  M M     R R   B     B

#11. Move R:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X b b R R A A A A X
a a X b b R R A     A X
  M M           B B B B
  M M           B     B

#12. Move M:
L L X X X X X X X X X X
L L X X X X X X X X X X
a a X b b R R A A A A X
a a X b b R R A     A X
            M M B B B B
            M M B     B

#13. Move a:
L L X X X X X X X X X X
L L X X X X X X X X X X
    X b b R R A A A A X
    X b b R R A     A X
        a a M M B B B B
        a a M M B     B

#14. Move L:
    X X X X X X X X X X
    X X X X X X X X X X
    X b b R R A A A A X
    X b b R R A     A X
L L     a a M M B B B B
L L     a a M M B     B

#15. Move X:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X b b R R A A A A X  
  X b b R R A     A X  
L L     a a M M B B B B
L L     a a M M B     B

#16. Move b:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X     R R A A A A X  
  X     R R A     A X  
L L b b a a M M B B B B
L L b b a a M M B     B

#17. Move X:
    X X X X X X X X X X
    X X X X X X X X X X
    X     R R A A A A X
    X     R R A     A X
L L b b a a M M B B B B
L L b b a a M M B     B

#18. Move L:
L L X X X X X X X X X X
L L X X X X X X X X X X
    X     R R A A A A X
    X     R R A     A X
    b b a a M M B B B B
    b b a a M M B     B

#19. Move b:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X     R R A A A A X
b b X     R R A     A X
        a a M M B B B B
        a a M M B     B

#20. Move a:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X a a R R A A A A X
b b X a a R R A     A X
            M M B B B B
            M M B     B

#21. Move M:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X a a R R A A A A X
b b X a a R R A     A X
  M M           B B B B
  M M           B     B

#22. Move a:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X     R R A A A A X
b b X     R R A     A X
  M M a a       B B B B
  M M a a       B     B

#23. Move R:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X         A A A A X
b b X         A     A X
  M M a a R R   B B B B
  M M a a R R   B     B

#24. Move A:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X A A A A         X
b b X A     A         X
  M M a a R R   B B B B
  M M a a R R   B     B

#25. Move B:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X A A A A B B B B X
b b X A     A B     B X
  M M a a R R          
  M M a a R R          

#26. Move M:
L L X X X X X X X X X X
L L X X X X X X X X X X
b b X A A A A B B B B X
b b X A     A B     B X
          M M a a R R  
          M M a a R R  

#27. Move b:
L L X X X X X X X X X X
L L X X X X X X X X X X
    X A A A A B B B B X
    X A     A B     B X
      b b M M a a R R  
      b b M M a a R R  

#28. Move L:
    X X X X X X X X X X
    X X X X X X X X X X
    X A A A A B B B B X
    X A     A B     B X
  L L b b M M a a R R  
  L L b b M M a a R R  

#29. Move X:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X A A A A B B B B X  
  X A     A B     B X  
  L L b b M M a a R R  
  L L b b M M a a R R  

#30. Move a:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X A A A A B B B B X  
  X A     A B a a B X  
  L L b b M M a a R R  
  L L b b M M     R R  

#31. Move b:
  X X X X X X X X X X  
  X X X X X X X X X X  
  X A A A A B B B B X  
  X A b b A B a a B X  
  L L b b M M a a R R  
  L L     M M     R R