### Random Post

### Recent Posts

### Recent Comments

### Archives

### Categories

- article (11)
- enigma (1,158)
- misc (2)
- project euler (2)
- puzzle (40)
- site news (44)
- tantalizer (42)
- teaser (3)

### Site Stats

- 178,002 hits

Advertisements

Programming Enigma Puzzles

11 April 2015

Posted by on **From New Scientist #1419, 30th August 1984** [link]

The Returning Officer was a terrible tease. After the votes had been counted he addressed the three candidates as follows: “By a strange coincidence each of you has polled a number of votes which is a perfect square. I have told each candidate separately how many votes he received — you all got some I am pleased to say. The winner got exactly 50 per cent of the votes cast. As you know the total electorate is 1000”. He then asked each candidate in turn if he could deduce the full result.

The Amity candidate said: “I cannot even deduce the percentage turnout”.

The Brotherhood candidate then said: “I know how many votes were cast for each candidate”.

The Comradeship candidate said: “So do I”.

The Amity candidate then said: “So do I now”.

The three candidates were of course perfect logicians and entirely honest.

How many votes did each receive?

[enigma272]

Advertisements

%d bloggers like this:

This Python program uses the

filter_unique()routine (seeEnigma 265) now part of theenigma.pylibrary. It runs in 43ms.Solution:The Amity candidate received 225 votes. The Brotherhood candidate received 64 votes. The Comradeship candidate received 289 votes.O dear, still puzzled, enquiring.

The votes cast for A, B, C are a triple. It’s Pythagorean since c1 + c2 = c3. And c3 < 500 since votes cast < 1000.

Valid triples are ( 9,16,25) (36,64,100) (81,144,225) (144,196,400) (25,144,169) (64,225,289)

A cannot deduce the number of votes cast, so A belongs to more than one triple.

If B = 25 in the triple (25,144,169) then B can deduce the votes for A and C, and deduce that the votes are not (9,16,25) since if A=9 or A=16 then A could deduce the number of votes cast.

In the same way if B=64 in the triple (64,225,289) then B can deduce the votes for A and C.

If the triple is (25,144,169) and C=169, then C can deduce that it is B that is 25, since if B=144 then B could not deduce the triple, as it could also be (81,144,225).

Hence A can deduce the triple now. Where am I wrong?

(144, 196, 400) is not a possible triple (they are all squares, but 144 + 196 ≠ 400). But (144, 256, 400) is a possible triple.

Tessa,

Being a very imperfect logician, I too puzzled, but think I got there in the end.

√A = 15. That could be a member of the triple 9, 12, 15 or the triple 8, 15, 17. So A cannot tell the total number of votes cast, let alone what B’s and C’s shares were.

√C = 17. The only suitable Pythagorean triple summing to <1000 is 8, 15, 17; but C still doesn't know which of the others got 8² and which 15² votes.

√B = 8. That could be a member of the triple 6, 8, 10. But if A had either 6² or 10² votes he would know it was that triple and therefore know the total number of votes cast, which he doesn't. Therefore B knows A must have 15², which leaves 17² for C.

Then of course C knows how many the others got.

Imperfectly explained, but does it help at all, at all?