It works not bad, but when adding new puzzle elements to the game mechanics, the solver get slower and slower, due to expanded possible game states. Moreover, the possible level elements combination is also grow up, so the random level generator is very slow and couldn't produce good results.

My question: Is puzzle solver a must for random level generation in puzzle games? Are there any other ways/algorithms to generate random level? And what do you think about random level generation in puzzle game? Suggestions are welcome
