## Four Wizards

A cute puzzle found on Facebook:

**Puzzle.** Four wizards A, B, C, and D, were given three cards each. They were told that the cards had numbers from 1 to 12 written without repeats. The wizards only knew their own three numbers and had the following exchange.

- A: “I have number 8 on one of my cards.”
- B: “All my numbers are prime.”
- C: “All my numbers are composite. Moreover, they all have a common prime factor.”
- D: “Then I know the cards of each of you.”

Given that every wizard told the truth, what cards does A have?

Share:
## Blaine:

Without giving the answer away, if you type the numbers in ascending order separated by commas (e.g. “a,b,c”) the MD5 hash is: dc2e3f737c555711b84147b112ed4364

5 December 2021, 1:39 pm## Blaine:

Hint 1: B has 5 possible numbers. But if A had any of them, D couldn’t know which were held by A and which were held by B. What does this tell you about how many primes are held by D?

Hint 2: 1 is neither prime nor composite. If D has 1, can he deduce the numbers of A and C. So who has 1?

Hint 3: C could have {6,9,12} or three cards from {4,6,10,12}. D is able to conclusively eliminate one of these cases. That wouldn’t happen if D had 4 or 10. Would that happen if D had 9? Remember C could have any 3 of the 4 numbers in {4,6,10,12}. So what numbers remain as possible ones held by D? And what does that tell you about 9?

Hint 4: Does the question ask you for the specific cards of B,C or D? Do you need to know them?

6 December 2021, 1:49 am## Jonathan Kariv:

I get that A has 1,8 and 9.

6 December 2021, 3:57 am## Blazer:

Can someone post a link with the full solution? I just don’t get it. (Please no email, it’s a 10minutemail…)

6 December 2021, 5:01 am## Cristóbal Camarero:

A has the cards 1, 8, and 9. They key point is to see who has the 12 card.

Blaine, I have checked all the possibilities and none of them has that MD5 hash. Using this (plus trying adding newlines and similar):

6 December 2021, 7:03 am“`bash

for a in $(seq 10)

do

for b in $(seq $a 11)

do

for c in $(seq $b 12)

do

suma=$(echo “$a,$b,$c” | md5sum)

echo $a,$b,$c,$suma

done

done

done

“`

## L33tminion:

Explanation here, linked to avoid spoilers.

Re the comment above, echo adds a newline by default, you get the expected hash with `echo -n “$a,b,$c” | md5sum`.

6 December 2021, 4:09 pm## L33tminion:

That link didn’t seem to come out correctly, should be this.

6 December 2021, 4:11 pm## Blaine:

No newlines… try this link https://www.md5hashgenerator.com/

7 December 2021, 12:34 am## TR:

Extension: Instead, D says “the sum of my cards is the number of a card that one of you is holding” will determine everyone’s cards.

Likewise (but a different solution) if D said “the sum of my cards is equal to the product of someone else’s cards.”

9 December 2021, 1:12 pm## Cristóbal Camarero:

Right, I missed the implicit newline of `echo`. Apologies for the noise.

12 December 2021, 12:26 pm## Yusuke Tsutsumi:

Here’s another explanation of the solution if anyone is interested: https://y.tsutsumi.io/puzzles/four-wizards

5 January 2022, 11:52 pm