So, after adding functionality for the program to accept ranges, fixing a bug, and adding some additional logic to skip more of the search range, I fired up two copies to utilize 100% of my CPU and went to bed. To my surprise, I found out that both programs had claimed to have found an answer, one claimed DADBEDDEDABADBADBECA, and the other claimed DADBEDDEDABADBADBAEB. The is encouraging thing to note is the program seemed to agree on what the first 17 answers are. Given that I didn’t know how to constrain question 20, in that I thought it was wholly determined by the previous questions, it isn’t too suprising that the program may have been too permissive in allowing answers.
Now, I went through the test by hand looking for any mistakes the program may have made, and I didn’t see any inconsistencies in either of the tests.
Although, the interesting thing is that the author stated:
I should mention that if you don’t agree with me about the answer to #20,
you will get a different solution to the puzzle than the one I had in
But I should also mention that if you don’t agree with me about the answer
to #20, you are just plain wrong. 🙂
So, it might be that both answers are completely valid. But, which one did the author have in mind then? Well for question 20, I’m going to guess that had in mind “Standardized test is to intelligence as barometer is to” (A) temperature (only)” not “(B) wind-velocity (only).”
So, what did the answer turn out to be, disappointingly neither. The correct answer was: DADBEDDEDABADBADBABE. Which it turns out that my program would have also found if had continued searching instead of quiting once it had found the first answer, this was based off the problem statement that the answer was unique, which I will annoyingly concede if you agree with the author about question 20. So, with this in mind. I corrected the program to print out all the answers it finds and only quit once it exceeds its range. We will see if these are the only three solutions the program would have found or if there are more lurking out there.