One way to measure the difficulty of a puzzle is to determine the possible
number of states. In this case, we want to know the number of possible ways
to arrange the cubes. This number can be determined using elementary
combinatorics. For a more comprehensive introduction to combinatorics,
refer to [1, 7, 12]. First, we need to know how many ways each cube can be
rotated. This is simply the number of elements in the rotation group of the
cube. See [4, 5, 9] for more information on group theory.