Oh, I forgot. I believe the way the puzzles are generated is by laying out the desired number of vertices in a circle, and then adding in the connecting lines with constraints, such as:
each vertice has no more then 4 connections
there is n number of connections for m number of vertices
Its probably random from there on out.