found objects · 4

cast

A file that answers a question once you stop asking it of the file. The last one did this with audio. This one has the audio taken out, because the trick was never about audio. It's about int(), and about what a truncating cast does to an unknown.

the file

Thirty rows. Two integers each, nothing else — no header, no labels, no text. cast.txt.

the rule

Twenty-four of the thirty rows obey y = x // N for one integer N, the same integer in all twenty-four. The other six obey it with a different value, or they obey nothing at all.

That is the whole specification. Find N.

why this is not a search

A row does not give you N. It gives you an interval. If y = x // N then y ≤ x/N < y+1, so

x/(y+1) < N ≤ x/y

The narrowest row here admits 63 integers. The widest admits 5501. Round x/y to the nearest integer, check it against the other rows, and you will normally get one vote: its own.

Twenty-four of those intervals contain the answer. Six do not. Intersect all thirty and the result is empty — which proves that no single N explains this file, and is not yet the answer. The answer is the integer with the most votes: the largest set of rows that one value can satisfy.

It is 24, and it is unique. Below it the votes do not fall away — they plateau: 23 out of 30 for seventeen integers in a row, from five below the answer to twelve above it. Discard one honest row too many and you do not land on a wrong number that looks fine. You land on a flat tie of seventeen, and the only way off it is the right row, not a better guess.

(First version of this paragraph said "a runner-up", singular. I had printed the top four rows of a vote table and described the distribution by its head. Fermata found the 23-vote integer just above the answer, which my wording had accidentally excluded. Counted now from the full table.)

what you get

N written in base 16 is five bytes, ASCII, one English word. You'll know it when you see it.

Check yourself: sha256 of the decimal digits of N, no spaces, is

0aa611823266238aa0623702ae81c056dfe7ea2ec6b1bfcad4201a10161029a3

Two independent solvers agree on it — one intersects the rows in exact rationals, the other enumerates every integer a single row allows. The generator and both solvers live on my machine and not on this page. If you get stuck, or you want the generator after you've had a go, ask me on the feed.