This page summarizes some of the techniques I use for solving the Rubik's 4x4x4 cube. It is not a step-by-step walkthough of a solution.

Corner pieces are refered to by their three face names, for example UFR is the top-right corner on the front face. Edge names are composed of two faces and an inner slice, for example UFr and URl are the two pieces on the upper front edge. Middle pieces are identified by a single face and two inner slices, for example the four center pieces for the front face are Fur, Ful, Fdr, and Fdl.

First, it is useful to define the inverse of an operation. Simply put, and inverse just undoes the operation. The inverse of a single twist is twisting the same face (or layer) in the opposite direction. For example, R' is the inverse of R and u is the inverse of u'. For a sequence of twists, you must go through the steps in reverse order, and use the opposite direction for each twist. For example, the inverse of U R is R' U'. One thing to keep in mind is that 180 degree twists are their own inverses (the inverse of R2 is R2). If you perform a sequence of twists - no matter how complex - and then perform the inverse of that sequence, the cube will be restored to the exact state it was in before you started.

Let's say you have a useful sequence called Y that flips the UF and UB edge pairs without altering anything else on the cube. What if you need to flip some other two edge pairs? As long as you don't care about scrambling the rest of the cube, it is proably pretty easy to move the desired edge pairs to UF and UB. Let's call this sequence of moves X. Now consider what would happen if you did X Y X' (where X' is the inverse of X). First you move the desired edges to UF and UB, but mess up the rest of the cube. Then you flip UF and UB while leaving the messed up portions perfectly intact. Finally you do X' which moves the desired edge pairs back to their original location and also unscrambles the rest of the cube.

Creating sequences of the form XYX' is called conjugation and is a powerful technique.

The second step is to get the edges paired up. I like the following operator since it rotates three edge pieces without disturbing anything else:

edge-3-cycle: r (U' R U) r' (U' R' U)

This will cycle (DFr UFr FRu). If you put one half of an edge-pair in UFl and the other half in DFr, then after the edge-3-cycle, the UF edge pair will be matched. If you are also fortunate enough to be able to move the piece that matches UFr to FRd, then you will get a second matched edge pair at FR. Generally I don't worry too much about matching two pairs at once, I just keep placing matched edges at UFr and FRd and any other unmatched edge at FR. Once you get down to 3 unmatched edges you need to carefully line them up so that the edge-3-cycle will solve all three edges at the same time. If you accidentally go too far an have only 2 unmatched edges, then you'll need to ruin one of the matched ones to create 3 unmatched pairs.

Now the cube can almost be solved like a 3x3x3. As long as you only use face moves, the centers will remain intact and the edges will remain paired. Pick your favorite 3x3x3 cube algorithm and get started. About 1/4 of the time everything will be fine. The other 3/4 of the time you will run into one or both of the following parity problems:

1) A single edge-pair is "flipped". This is something that never happens on a 3x3x3 - edge flips must always occur in pairs. But in the 4x4x4 cube it is possible to swap two edge pieces, which is the equivalent of flipping the edge-pair. The following operator flips the UF edge pair: (R2 r2 B2) (U2 l U2 r' U2 r U2 F2 r F2 l' ) (B2 r2 R2). The real work is done by the middle sequence (U2 ... l'), which swaps UFl and UBl but has a side effect of exchanging some centers as well (Ufr and Ubr are exchanged with Dfl and Dbl). The prefix and suffix sequences move UFr to UBl and also make the center swaps harmless.

2) Two edge-pairs have been swapped. This is also impossible on a 3x3x3 cube, but happens on the 4x4x4. A nice edge pair swap operator is (U2 u2 R2 r2 U2) r2 (U2 r2 R2 u2 U2) which swaps the UF and UB edge pairs. This operator isn't as complicated as it looks since U2u2 and R2r2 can be done at the same time by turning the upper or right half of the cube. The actual edge exchange happens in the middle r2 move, which swaps to pairs of edges and 4 pairs of centers, but the prefix and suffix insure that the center swaps are harmless.

Depending on your 3x3x3 algorithm (specifically, if you solve corners after edges), you may find that the entire cube is solved except for a single pair of corners that needs to be swapped. This is actually equivalent to case #2 above. Give the face with the two corners a single turn, then you should be able to use standard 3x3x3 moves to cycle the corners as necessary. You will also be able to fix two of the edges, but two edge pairs will still need to be swapped.

The parity fix for #1 is a bit unintuitive, and I prefer algorithms that I understand deeply enough to be able to reconstruct them without memorization. An alternative to fixing the parity problems is to give a single inner layer one turn. This will change the edge swap parity back to even, allowing you to fix all of the edges with the edge-3-cycle. The only problem is that 8 center pieces are now wrong. Fortunately it is pretty easy to move center pieces around without disturbing edges and corners. If you want to swap Ubr and Ubl with Fur and Fdr, you can use:

double-center-swap: U2 b' u'd b U2 b' u d' b

- Solve the top and bottom centers.
- Solve the top and bottom corners (use the same techniques as for a 3x3x3 cube)
- Turn the cube so that now the two solved centers are left and right. Use the edge-3-cycle (or its mirror and/or inverse) to place edges from the r and l layers to the R and L layers. If you need to make edges cross over from the l to r layers, do (F2 R2 L2 B2 R2 L2), which leaves the R and L layers intact but moves all edges from the r layer to the l layer and vice versa. Once you are finished with this step both the R and L layers should be completely solved.
- The next step is to place the edges in the l layer while leaving R and L intact (but messing up r). The general operation I use is to move UFl to UFr using (F2 r' F2 r2 F2 r F2)
- Solve the edges in the r layer. Usually it is possible to turn the r layer such that one edge is correct and the other three can be placed using the edge-3-cycle (using conjugation). In some cases, two pairs of edges need to be exchanged, which I usually solve by doing two conjugated edge-3-cycles.
- The only thing left to do is fix the centers. I usually use
variations of

- double-center-swap: U2
b' u'd b U2 b' u d' b (use to exchange Ubr/Ubl with Fur/Fdr)

- single-center-swap: U2 b' u' b U2 b' u b (use to exchange Ubl with Fur)
- double-center-3-cycle:
r2 u2 r2 u2 (Fdr->Bur->Ful, Bdr->Fur->Bul) This one
is actually quite useful when Ful and Bul are correct, and Fdr/Fur need
to be swapped with Bdr/Bul. Since the centers are
interchangeable, this operator will have an effect similar to a
double-center-swap.