Serg wrote:It was great to see so fast confirmation of this by blue! Could you biefly describe your method, blue?
The work was all done before JPF's "maximal invalid" post.
I was just confirming that the list of 100 "frame + 2" puzzles was complete.
I mentioned that I had tried two different methods. The fastest method was to generate a list of ED "r19c19" frames, filter out the ones with no solutions, and then run "+2" tests on
each of them, with the two cells restricted to the 252 cases with either two clues in box 5, or one clue in box 5, and the other in one of boxes 2,4,6,8.
I used a "speedup trick" too, that reduced the average number of solver calls per frame, from ~5900 to ~500.
The trick was, for each frame, to collect the distinct solutions to the "+2" puzzles, and for each new one, update a list of 2*(252*9*9) flags, indicating whether 0,1 or "2 or more" solutions have been seen for the ((cell1,cell2), digit1, digit2) cases that are still to come. Then as each new case comes up, obviously if 2 or more solutions have already been seen, there's no need to call the solver.
For timing: generating, testing and dumping the valid ED frames, took under 3 minutes to run (@4.3GHz) ... and much longer to code
The "+2" phase took ~11 core hours, using a solver built on dobrichev's "FSSS2".
For JPF: there were 33,592,591 ED frames, including 4847 cases with no extension to a complete grid.