#RC3
S48=SymmetricGroup(48)
R=S48("(25,27,32,30)(26,29,31,28)(3,38,43,19)(5,36,45,21)(8,33,48,24)")
L=S48("(9,11,16,14)(10,13,15,12)(1,17,41,40)(4,20,44,37)(6,22,46,35)")
U=S48("(1,3,8,6)(2,5,7,4)(9,33,25,17)(10,34,26,18)(11,35,27,19)")
D=S48("(41,43,48,46)(42,45,47,44)(14,22,30,38)(15,23,31,39)(16,24,32,40)")
F=S48("(17,19,24,22)(18,21,23,20)(6,25,43,16)(7,28,42,13)(8,30,41,11)")
B=S48("(33,35,40,38)(34,37,39,36)(3,9,46,32)(2,12,47,29)(1,14,48,27)")
RC3=S48.subgroup([R,L,U,D,F,B])
S48("(7,18)") in RC3
False
S48("(7,18)(5,26)") in RC3
True
Sage has a built in cube solver:
rubik=CubeGroup();
state = rubik("(7,18)(5,26)") # current state of the cube
rubik.solve(state) # calls the solve algorithm
"F2 R2 B' F' D' F D B R2 F' R' F' R"
#RC2
S24=SymmetricGroup(24)
R=S24("(13,14,16,15)(10,2,19,22)(12,4,17,24)")
L=S24("(5,6,8,7)(3,11,23,18)(1,9,21,20)")
U=S24("(1,2,4,3)(9,5,17,13)(10,6,18,14)")
D=S24("(21,22,24,23)(11,15,19,7)(12,16,20,8)")
F=S24("(9,10,12,11),(3,13,22,8),(4,15,21,6)")
B=S24("(17,18,20,19),(1,7,24,14),(2,5,23,16)")
RC2=S24.subgroup([R,D,F])
RC2.order()
3674160
H=S24.subgroup([R,D,F,U,L,B])
H.order()
88179840
H.order()/RC2.order()
24
#OT
S20=SymmetricGroup(20)
R=S20("(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)")
T=S20("(1,4)(2,3)")
OT=S20.subgroup([R,T])
OT.order()==factorial(20)
True
#HR
S38=SymmetricGroup(38)
L=S38("(1,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2)")
R=S38("(1,38,37,36,35,6,34,33,32,31,30,29,28,27,26,25,24,23,22,21)")
HR=S38.subgroup([L,R])