I'll copy and paste from the GMC:
I'm going to start creating a Rubik's Cube solver. I was wondering what the best way to do this would be. Are there any algorithms out there to apply? If brute forcing is the only way, how would I go about that? I know how to solve the cube - I'm asking how to translate it into code. I mean rather, how to transfer an algorithm for solving it by hand into a computer algorithm.
I'm thinking of the best way to store piece position, color, etc. Maybe having a 3d grid, and storing a width, height, depth? Then storing colors of each piece? This is where I'm a bit lost, not the programming too much.