Milo Land

Discover Your Own Rubik's Cube Algorithms

I have always wanted to solve a Rubik's Cube but was not really interested in getting the solution handed to me. But solving seemed way too daunting to do all at once when I first encountered the cube as a kid. But since I've spent a good amount of time in the interim solving puzzles, doing programming, and understanding algorithms, I figured I would take another shot.

Rubik's Cube

I'll be updating this page at the bottom with updates on my progress.

The Challenge

Given the cube and the names of each step, can I discover and document the steps that are necessary to solve the Rubik's Cube?

This challenge is a bit too much for me to try and figure it out TOTALLY from scratch, so I'm bringing in the *names* of the steps and the movement descriptors to aid in my documentation and discovery.

Given Information


Glossary of Singmaster notation

Notation | Description

Each of these notations means to rotate that segment clockwise respective to their face, with a `'` on a step meaning rotate the segment anticlockwise. In both cases, the `M`/`E`/`S` layers follow their `L`/`U`/`F` counterparts.

A `2` after a notation means to perform that operation twice in a row.

`w` (wide) means to include the middle layer on the same axis (e.g. `Fw` includes the front face and the layer behind). For example, `M2 Dw' F D'` would mean:

Piece notation is `face/edge/corner`. If `edge` or `corner` are omitted, assume they are the center. For example (lets assume `X` means "null" for these)

The Solution

1. White Cross

The white cross step is pretty trivial, as far as I can tell. If there are algorithms, it kind of doesn't seem to be super important. The goal is to get all the white squares together to make a cross shape, with the center included, like a `+`. Looking at it straight on should look like this:

.X. // X's being white squares, and
XXX //  dots representing anything
.X. //  other than the white squares.

2. White Corners

First, select a corner/column to focus on. You need to rotate `E` and `D` layers until you have the white corner somewhere within the same column. This could mean on the underside of that column or somewhere on the side of that column.

The algorithm that is simplest but will take the longest is this: `R' D R D'`. If this is repeated, eventually that black square will end up on the top of the cube.

There are a few simpler ones that can be deduced from this and I will leave it to the cuber to figure them out. Practice will elucidate these algorithms very clearly!

Once this is finished, the cube should have all of the white squares on top of the cube.

3. Second Layer

Assuming the white squares are on top of the cube, you first want to rotate `Dw` until you have the `FU` and `F` as the same color. Sometimes, you can end up with more than one set of connected colors on other layers (`RU` and `R`, `LU` and `L`, or `BU` and `B`) through successive rotations. Our goal is to have the maximum connections possible.

Once this is complete, there are two possibilities with two different algorithms.

Two *adjacent* faces with connected colors

Two *opposite* faces with connected colors

Once complete with any of these situations, you should have all four colors connected on the `M` column of the `T` layer of the `F`, `L`, `R`, and `B` layers.

NOTE: I have not figured out how to get the side pieces of `T` or `E` aligned yet.