Number Guessing Game
This is a number guessing game of the harder sort. There is no warmer, no colder, no too high and no too low: three digits are hidden, repeats are allowed, and each guess is answered with two counts instead. The filled dot says how many digits you put in the right column, and the hollow dot says how many are in the code but sitting in a different column. A thousand possible codes and ten rows to get there, with ten pegs to build a guess from and 0 sitting at the end of them rather than the start.
Higher-or-lower is a different game entirely
The familiar version answers a single bit: too high, or too low. That bit is enough to halve the field every time, which is why any number from 1 to 1,000 can be cornered in ten questions and why the game stops being interesting once you have noticed that. This board answers something else. It tells you where your digits stand, not where your number stands, and it never compares magnitudes at all – a 4 and a 9 are simply two different digits here, neither of them larger than the other.
That trade is worth making. You lose the ordering, which means you cannot bisect anything, and in exchange each row hands back two numbers drawn from nine possible answers rather than one of two. The information per row is far greater, and the reasoning it asks for is elimination rather than arithmetic.
A thousand codes, and 0-0-0 is one of them
Repeats are allowed on this board, so 1-1-1 and 7-0-7 are perfectly ordinary codes, and the field is 10 x 10 x 10 = 1,000 rather than the 720 you would get if every digit had to be different. Codes with a leading zero are in there too. This matters more than it sounds: a player who quietly assumes the three digits are all different has ruled out 280 codes that were never ruled out, and 280 in 1,000 is more than one game in four.
Allowing repeats also hands you a probe that does not exist on boards without them. Play 1-1-1 and the answer tells you exactly how many 1s the code contains, with no ambiguity at all: the filled count is the number of 1s and the hollow count is always zero. It is a clean measurement of one digit, and it costs a whole row to get, which is the honest trade – useful when you are stuck on the makeup of the code, wasteful as an opening.
The opening the machine picks, and the number 343
Press the star on an empty board and it fills the row with three different digits – 1-2-3 in the labels on the pegs – and prints “1000 codes still fit.” underneath. The worst thing that can happen to that guess is a blank answer, and a blank leaves 343 codes standing. That number is 7 x 7 x 7, and the reason is worth a second: a blank on three different digits removes those three digits from every column at once, leaving seven candidates in each of three independent columns. Every one of the 1,000 possible openings was swept, and none has a smaller worst case than 343.
The rest of that split explains why the game feels the way it does. A blank is the single likeliest answer at 343 codes, one digit in the wrong column comes next at 315, and one digit placed correctly accounts for 192. After that the numbers fall away fast: 69 codes give two misplaced digits, 48 give one placed and one misplaced, 27 give two placed, and exactly one code in a thousand hands back three placed digits and ends the game on the first row.
Two placed and one misplaced cannot happen
There are ten ways for two counts to add up to three or less, and only nine of them ever occur. Two in the right column plus one in the wrong column cannot happen. The clearest way to see it is from the code’s side rather than from yours: two of the code’s three digits have already answered for two of yours, so exactly one digit of the code is still unspoken for, and it is sitting in the one column you got wrong. A hollow dot would need your third digit to have a twin somewhere else in the code – and there is nowhere else left for it to be.
Which makes two filled dots one of the most informative answers on the board. It always means the odd digit has to be replaced rather than moved, and since it does not say which of the three columns is the odd one, exactly 27 codes survive – three columns it could be, multiplied by the nine digits it could become. That is a comfortable field rather than a finished one: from there the solver most often needs three more rows – twelve of the twenty-seven – and four more for five of them.
How many rows this should take
The board gives you ten. Press the star on every row and submit what it fills in, and you are letting the machine play the game out; run that against each of the 1,000 codes in turn and it never needs more than seven rows, 5.5 on average, with 484 codes falling in six rows, 310 in five, 97 in four and 85 needing the full seven. That seven is what this particular rule needs, not a proof about the game – a different rule might shave a row off somewhere – but it does put the ten you are given in perspective. A halving game over the same thousand numbers would need ten questions in the worst case, so the positional answers are earning their keep by about three rows.
The count under the star is exact on this board
Press the star and it fills the row with a guess and prints how many codes are still consistent with everything you have submitted. That figure is a count rather than an estimate, which is not something every board on this site can say: a thousand codes is small enough for the solver to hold the survivors in full and simply tally them. The no-repeat board has five times as many and has to work from a sample, so it declines to print a number at all rather than print one it would be rounding.
Which makes the count usable as a measurement rather than as decoration. Note it after each row and you can see exactly what a row bought you: a good one takes three digits off the field, a poor one takes a few dozen codes. The star only fills the row; whether to submit what it suggests is still yours to decide.