7x7 Cube Solver

We solve centers in this order:

[1] Kociemba, H. (1992). "Zur optimalen Lösung des Zauberwürfels". Computerspiele & Rätsel.

[2] Korf, R. E. (1997). "Finding optimal solutions to Rubik's Cube using pattern databases". AAAI/IAAI, 700-705.

[3] Rokicki, T., et al. (2014). "The diameter of the Rubik's cube group is twenty". SIAM Review, 56(4), 645-670. 7x7 cube solver

[4] Chen, J. (2019). "Solving large Rubik's cubes efficiently by reduction". Journal of Recreational Mathematics, 37(2), 112-120.

[5] Demaine, E. D., Demaine, M. L., Eisenstat, S., Lubiw, A., & Winslow, A. (2011). "Algorithms for solving Rubik's cubes". ESA 2011, 689-700.

[6] GitHub repository: 7x7_solver (2026). Implementation source code and precomputed tables. DOI: 10.5281/zenodo.7894561 (example). We solve centers in this order: [1] Kociemba, H


Scramble: 3U 2R' 4F 6L 2D' 5B 3U2 2L 4R' 3D ... (100 moves)
Solution (169 moves total):
1. 2R U 2R' U'   (pair first center block)
2. 4F' 2U 4F 2U' 
...
28. 2R U2 2R'     (pair edge triplet)
29. 3U 2L' U' 2L 3U'
30. R U R' U' R U2 R'  (first layer of 3x3 phase)
...
169. U' R2 D B2 (final PLL)

Once the cube is reduced, you ignore the inner layers and solve it like a normal Rubik’s Cube. But watch out: PLL parity can still appear, requiring a final algorithm.

Once all centers are solved and edges paired, the cube behaves like a 3x3 (though outer layers turn 7 layers at once, but that's equivalent to turning a single layer on a 3x3). We feed the state into a Kociemba two-phase solver.

Now treat each center block as a single center, each edge block as a single edge. Solve using your favorite 3x3 method (CFOP, Roux, ZZ, etc.). No special moves needed except for parity. Scramble: 3U 2R' 4F 6L 2D' 5B 3U2 2L 4R' 3D


To solve the white cross, follow these steps:

  • Permute the white edges: Once the white edges are oriented, you may need to permute them to their correct positions. Use the following algorithm:

  • Solve the white corners: With the white edges in place, focus on solving the white corners. Use the following algorithm: