Generate Algorithm

Created functional algorithm than generates random, but solvable puzzles
everytime.  However, the puzzles seem to be really hard.  Need to figure
out a way to make them a bit easier.