I have added some pruning by looking for unnecessary connections at vertices and blocking edges with two unnecessary connections early.
Also need to block:
single vertex where all its edges have unnecessary connections
two vertices joined by a necessary link but where all other edges are unnecessary
could also precompute all sixes and block any extension of one of those
could also for each edge, and vertex and pair of vertices in the original graph do a precompute search for first solution, if none, then remove edge, vertex, or vertex-pair from search space.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have added some pruning by looking for unnecessary connections at vertices and blocking edges with two unnecessary connections early.
Also need to block: