The Mathematics Behind the Rubik's Cube