In the puzzle for the first week of 2012, the second choice (9084) stated:
This was scored as correct and offered a step-by-step logical "proof" of why this was so.
Unfortunately, as several players pointed out, my logic was flawed from the very start - because 1 could not be in the solution at all. As Jennifer explained so clearly:
I will change that choice to incorrect; everyone's scores will be updated within the next 24 hours.
While I am unhappy with my error and the need to issue a correction, I am delighted that several players analyzed the puzzle closely enough to uncover the problem - and also because this process reinforces what is to me one of the most important lessons for programmers when playing Mastermind (and similar games):
Make sure that you fully "mine" all "clues" (results from tests of your code) for all possible information.
All too often we (I!) barely look at the results of a test, or the report of a bug, before we rush to the source code and scramble (flail around?) to apply a fix. In doing so, we (I) often overlook critical information, and this oversight can lead to lots of time lost and even the introduction of new bugs.
In this puzzle, I did not perform enough analysis to conclude that 1 could not be in the solution. By missing this fact, I then introduced a mistake into the quiz.
Lesson learned: before you start messing around with your code, make sure you have extracted all possible conclusions from tests and specifications. Then apply that knowledge in a systematic fashion.
Thanks to Jennifer, DKennedy, Bobby and Pavel for identifying this problem!