A bdd based rubicks solver