Playing around with automatic, optimal rubiks cube solving using bidirectional breadth first search. The current implementation works - for cubes which require less than about 16 turns to solve. For more complex scrambles, this program will eventually find the optimal solution (if given enough time and memory), it's just not practical.