The 1,000-Bottle Puzzle: How 10 Testers Find One Poisoned Bottle

The 1,000-Bottle Puzzle: How 10 Testers Find One Poisoned Bottle

The Puzzle: One Bottle, One Round, Ten Testers

One of 1,000 identical bottles is poisoned. You have ten testers and only enough time for one round of testing. How can you identify the bottle? Give each bottle a unique ten-digit binary label, then assign each tester one digit. The pattern of test results will reveal the label—and therefore the bottle.

It sounds like an impossible feat. If every tester examines just one bottle, you learn about only ten bottles and leave 990 mysteries untouched. The trick is to let each tester check many bottles at once, while arranging those checks so that every possible poisoned bottle produces a different result.

This is a mathematical thought experiment, not a real-world testing method. For the puzzle to work, assume exactly one bottle is poisoned, any sample from it produces a detectable result even when combined with samples from other bottles, and every tester’s result is reliable and available at the same time. Those rules give us two possible outcomes per tester: affected or unaffected.

Why Ten Is the Magic Number

Start with one tester. Their result has two possibilities: affected or unaffected. Add a second tester, and there are four possible pairs of results. With a third, there are eight.

Each additional tester doubles the number of patterns you can distinguish:

  • 9 testers: (2^9 = 512) patterns
  • 10 testers: (2^{10} = 1,024) patterns

Nine testers cannot give 1,000 bottles distinct outcomes; there are only 512 patterns to go around. Ten can, with 24 patterns to spare. That proves ten is the minimum under the puzzle’s one-round, two-outcome rules—but it does not yet show how to use them.

When a puzzle asks for the fewest tests, count the possible result patterns before planning the tests themselves.

The key is to treat each tester’s result as one digit in a code. An affected tester represents 1; an unaffected tester represents 0. A string of ten such digits can serve as an address for one bottle. This is the same basic idea behind a bit, a unit that can take one of two values. For a deeper introduction, Carnegie Mellon University’s guide to information theory explains how binary digits represent choices.

Give Every Bottle a Binary Address

Number the bottles from 1 through 1,000. Now write each number in binary using exactly ten digits, adding zeroes at the front when needed.

Binary uses place values that double as you move left. Reading from right to left, the ten places are:

1, 2, 4, 8, 16, 32, 64, 128, 256, 512

A digit of 1 means “include this place value”; a 0 means “leave it out.” For example, bottle 13 is (8 + 4 + 1), so its ten-digit label is 0000001101. Bottle 1 is 0000000001, while bottle 1,000 is 1111101000.

Assign Tester 1 the rightmost digit—the 1s place. Tester 2 gets the 2s place, Tester 3 gets the 4s place, and so on until Tester 10 has the leftmost, 512s place.

For each bottle, give a sample to every tester whose assigned digit is 1. Do not give that bottle to testers whose digit is 0. Thus, bottle 13 goes to Testers 1, 3, and 4, because (13 = 1 + 4 + 8).

Each tester receives a combination of samples from many bottles. That is fine under the puzzle’s rules: we are not asking a tester to identify a flavor or separate ingredients. We only need to know whether their combination included the one poisoned bottle. A University of California, Berkeley puzzle solution describes this same bit-by-bit assignment.

A tiny version makes the system easier to see: three testers provide eight possible result patterns, enough to label eight bottles.

Read the Results Backward

Once the testing period ends, record every tester’s result. Put a 1 in an affected tester’s position and a 0 in an unaffected tester’s position. Read the ten positions as one binary number.

Suppose only Testers 1, 3, and 4 are affected. Their place values add up to (1 + 4 + 8 = 13). The result pattern is 0000001101, identifying bottle 13.

Why does this work even though each tester received samples from many bottles? Because there is exactly one poisoned bottle. A tester is affected precisely when that bottle was included in their assigned samples. Together, the ten results reproduce the poisoned bottle’s ten-digit label.

No two bottles have the same label, so no two bottles can produce the same intended pattern. This is more than a clever guess: it is a complete way to encode and decode every possible answer. If you enjoy puzzles where a carefully planned question carries more information than it first appears to, Puzzles Arcade’s World’s Hardest Logic Puzzle walkthrough explores another striking example of that idea.

Try an Eight-Bottle Version

Before imagining a table of 1,000 bottles, try the method on a smaller puzzle. Label eight bottles 0 through 7 and use three testers, assigned the 1s, 2s, and 4s places. The bottles have these three-digit binary addresses:

| Bottle | Binary address | Testers who receive a sample | |---|---|---| | 0 | 000 | None | | 1 | 001 | 1 | | 2 | 010 | 2 | | 3 | 011 | 1 and 2 | | 4 | 100 | 3 | | 5 | 101 | 1 and 3 | | 6 | 110 | 2 and 3 | | 7 | 111 | 1, 2, and 3 |

If Testers 1 and 3 are affected but Tester 2 is not, the pattern is 101, identifying bottle 5. If nobody is affected, the pattern is 000, identifying bottle 0—provided we trust the assumption that exactly one bottle is poisoned and every test worked.

The large puzzle uses the same method with ten testers instead of three. We chose labels 1 through 1,000 there, so an all-unaffected result would not point to a bottle. It would tell us that at least one puzzle assumption had failed. The labeling choice matters: if we had numbered the large set 0 through 999, an all-unaffected result could legitimately identify bottle 0.

Before decoding a result, check whether bottle numbering begins at 0 or 1; it changes what an all-zero pattern means.

What Makes This an Amazing Feat?

The impressive part is not that ten testers somehow inspect 100 bottles each. In fact, the samples deliberately overlap. A bottle can be assigned to several testers, and a tester can receive samples from hundreds of bottles. The overlap is the design, because each bottle needs its own distinctive combination of testers.

This is why the puzzle is different from checking bottles one at a time—or repeatedly dividing the remaining bottles in half. A repeated-halving strategy needs later tests to depend on earlier answers. Here, every assignment is made in advance, and all ten results arrive after a single round.

The method also shows both sides of a satisfying puzzle solution. Counting outcomes proves that nine testers are insufficient. Binary labeling proves that ten are sufficient. Together, those arguments establish that ten is not merely a solution; it is the smallest possible number under the stated rules.

That habit of looking for hidden structure appears in other remarkable puzzles, too. In Puzzles Arcade’s 100 Prisoners Puzzle, a shared strategy changes what initially looks like a hopeless search. Here, a shared numbering system turns ten simple yes-or-no results into a precise answer among 1,000 possibilities.

The takeaway is wonderfully reusable: when you cannot ask many questions, make each answer do more work. In the 1,000-bottle puzzle, every tester supplies one piece of a code—and ten pieces are just enough to solve the mystery.

Share: