The Ultimate Solution to a 3x3x3x3

using the interface of MagicCube4D

The Cube

Lets get familiar with your hypercube and point out a few things you should know.  I am reiterating a bit from the superliminal introduction, but repetition can’t hurt, right?

A 3D cube has 6 two-dimensional faces with 9 two-dimensional stickers per face. 

A 4D cube has 8 three-dimensional faces with 27 three-dimensional stickers per face.


The 3D cube has the following pieces:

            6 one-colored “center” pieces

            12 two-colored “edge” pieces

            8 three-colored “corner” pieces


The 4D cube has the following pieces:

            8 one-colored “center” pieces

            24 two-colored “face” pieces

            32 three-colored “edge” pieces

            16 four-colored “corner” pieces


In both cases, the centers of the cube faces do not move with respect to each other.  With the default colors in MagicCube4D, this means that for the center pieces in the 4D cube:


            blue is always opposite green,

            yellow is always opposite red,

            pink is always opposite purple,

            cyan is always opposite orange.

At this point, lets also put some labels on the faces so we can communicate from here on.


Note:  The default 3D orientation of face colors in MagicCube4D appears to have changed since this solution was written, but one can easily reorient the puzzle so that the colors appear as shown (by dragging the mouse).  In any case, the labels refer to visual locations, not particular face colors.

Note:  In the MagicCube4D intro, the blue face was described as analogous to the “bottom of an open 3D box” (i.e. it is the face furthest away from us).  I labeled it “Top” for our purposes, so that this solution will follow Philip’s more closely.  The labels are unimportant, however, as long as you know which faces I am describing when I say “Top” and “Bottom”.

An important label!  A 4D cube has 6 faces that are in between the top and bottom face (Front, Back, Left, Right, Upper, Lower).  I will later repeatedly refer to this set of faces as the “center section” of the cube.  These faces are analogous to the four faces that compose the center section between the Top and Bottom faces of a 3D cube.


A Labeling Scheme for the Pieces

For the move descriptions, I also need to label the individual pieces, which I do below.  Although I have zoomed in on just two of the faces here, the labels will be the same for each of the seven visible faces.



Let's clarify with some questions and answers.

Why haven’t you labeled all of the pieces?

I have. I just can’t label them all without creating too much of a mess.  You’ll have to extrapolate the rest of the numbers.  (The number for the center piece of a face is #14 for instance.) 

Couldn’t the scheme have been simpler?  Why do we need to label every piece?

Right now, those on the hypercube mailing list are still talking about possible labeling schemes, and of course there may be better ones.  Combined with the face labels given previously, this scheme will be able to reference any individual sticker on the hypercube.  And since twists are made in the MagicCube4D interface by clicking on a specific sticker, this will allow me to describe any twist.

I’m starting to get lost, can you give me an example?

Sure.  Suppose I want to do two moves, first a counterclockwise twist of the Top (Blue) face through the #4 piece axis, followed by a clockwise twist of the Left (Pink) face through the #9 piece axis.  I would describe it like this:

Top, 4, Left
Left, 9, Right

So, you can see I will be describing moves like this:

face, piece, direction

where direction is left / right (the mouse button you need to click)This corresponds to counterclockwise / clockwise twists.

This description method is almost general.  The only additional piece of information needed would be which slices are being twisted (which can be changed by holding down any combination of the 1,2, or 3 keys when making a twist).  For the sequences below, I will always be using the first slice so I haven’t included that information in my scheme.