The purpose of this page is not so much to explain how to solve the Rubik's cube but to try to explain how one can use mathematics to model the Rubik's cube, and related puzzles. The first few definitions below try to put the Rubik's cube on a firmer mathematical foundation by defining a permutation puzzle, such as the Rubik's cube, in the context of combinatorial game theory. Some links to web pages on related puzzles and topics are given below, followed by a short explanation of my MAPLE (a commercial computer algebra and graphics program) code for the 3x3 and 4x4 Rubik's cube.

A **one person game** is a sequence of moves following certain rules satisfying

- there are finitely many moves at each stage,
- there is a finite sequence of moves which yields a solution,
- there are no chance or random moves,
- there is complete information about each move,
- each move depends only on the present position, not on the existence or non-existence of a certain previous move (such as chess, where castling is made illegal if the king has been moved previously).

**permutation puzzle**is a one person game (solitaire) with the following five properties listed below. Before listing the properties, we define the

**puzzle position**to be the set of all possible legal moves. The five properties of a permutation puzzle are:

- for some n > 1 depending only on the puzzle's construction, each move of the puzzle corresponds to a unique permutation of the numbers in T = {1, 2, ..., n},
- if the permutation of T in (1) corresponds to more than one puzzle move then the the two positions reached by those two respective moves must be indistinguishable,
- each move, say M, must be "invertible" in the sense that there must exist another move, say M
^{-1}, which restores the puzzle to the position it was at before M was performed, - if M
_{1}is a move corresponding to a permutation f_{1}of T and if M_{2}is a move corresponding to a permutation f_{2}of T then M_{1}*M_{2}(the move M_{1}followed by the move M_{2}) is either- not a legal move, or
- corresponds to the permutation f
_{1}*f_{2}.

This page contains information about such puzzles.