Saturday, January 24, 2009

Rubik's cube

I got hold of rubik cube after more than two decades and found out that I had forgotten many moves. Tried to look at internet, where you can get thousands of solution, but these are not MY solutions and so it's hard to remember. So wrote some simple java program to find out the moves.

Here is a set of moves that one can use to solve the cube.

Correct first layer by common sense. ===============================================================

For second layer: Keep the correct face as BACK.
Move#1: only one cubelet moves in the second layer : ru

(r'fr f uf'u') ==> main move: fl -> ru, other movementa are in 3rd layer that we don't care.

Full move:
(r'fr f uf'u') ==>
fru -> ulf -> ruf
dfl -> ldf
ru -> df -> uf -> fl -> ru

Move#2: only one cubelet moves in second layer : lu
(lf'l'f'u'fu) ==> main move: fr -> lu

fru -> ful -> ufr
dfr -> rdf
fr -> lu -> df -> uf -> fr

For third layer:
First correct colors of all middle ones.. ignore the positions of the edges

keep third layer (that is to be corrected) as RIGHT SIDE

to flip fr and dr

f r d r' d' f'

(frdr'd'f') ==>
fru -> drf -> ruf
bru -> drb -> rub
fr -> rb -> rd -> fr

to flip fr and br, do the reverse of the above.

f d r d' r' f'

(fdrd'r'f') ==>
fru -> fdr -> ufr
bru -> bdr -> ubr
fr -> rd -> rb -> fr


Now rest can be done in any sequence
1. Keep the third layer as the FRONT

First correct the positions of all corners. Make sure that coreners are not like a <=> b and c <=> d. If it is so, just turn once 90 deg.
Then one will go in right place, rest 3 can be corrected by ..

(r'd'ldrd'l'd) ==>
fru -> drf -> ful -> fru

This moves 3 corners in front clockwise, leaving dlf intact.

To move the same 3 anti clockwise, do this:

Move 6#

(rf'l'fr'f'lf) ==>
fru -> lfu -> drf -> fru

2. To correct the rotations on all the corners:

use Move#5 + move#6 to rotate

(r'd'ldrd'l'd rf'l'fr'f'lf) ==>

dfr -> rdf --> turned antcloskcwise +1
flu -> luf --> turned anticlockwise +2 or clockwise +1

3. To correct the position of all the edges in the last layer, use this move with some required prep-moves

| f2 ^ f2
V |

1st move is to move the middle slice down, looking from front, or anti clockwise looking from right side
3 rd move is just the opposite of the first one.

fu -> bu -> fd -> fu

If front is the last layer, then fu and fd are fine, bu seems odd as it has been already corrected. Here the idea is that
move fr or fl to bu position, do the move and then get bu back.

To move fr to bu, do (r2 b)
To move fl to bu, do (l2 b')

After moving fr or fl to bu, do Move#8, and then get bu back to fr or fl.