Lying about their age Puzzle - Solution

The Puzzle:

Lying about their age

Alex, Brook, Cody, Dusty, and Erin recently found out that all of their birthdays were on the same day, though they are different ages.

On their mutual birthday, they were jabbering away, flapping their gums about their recent discovery. And, lucky me, I was there. Some of the things that I overheard were...

• Dusty said to Brook: "I'm nine years older than Erin."
• Erin said to Brook: "I'm seven years older than Alex."
• Alex said to Brook: "Your age is exactly 70% greater than mine."
• Brook said to Cody: "Erin is younger than you."
• Cody said to Dusty: "The difference between our ages is six years."
• Cody said to Alex: "I'm ten years older than you."
• Cody said to Alex: "Brook is younger than Dusty."
• Brook said to Cody: "The difference between your age and Dusty's is the same as the difference between Dusty's and Erin's."

Since I knew these people -- and how old they were, I knew that they were not telling the whole truth.

After thinking about it, I realized that when one of them spoke to someone older, everything they said was true, but when speaking to someone younger, everything they said was false.

How old is each person?

Our Solution:

Alex is 30
Brook is 51
Cody is 55
Dusty is 46
Erin is 37

REASONING

Let the ages and names of Alex, Brook, Cody, Dusty and Erin be A, B, C, D and E.

C says to A, that C = A + 10. If C were younger than A, that would be lying, so C must be older than A. (But still lying.)

We have A < C.

C says to A, that B < D. As C > A, C is lying, so B > D.

We have A < C, D < B.

D says to B, that D = E + 9. As D < B, D is telling the truth, so D > E.

We have A < C, E < D < B, D = E + 9.

E says to B, that E = A + 7. As E < B, E is telling the truth, so E > A.

We have A < C, A < E < D < B, D = E + 9, E = A + 7.

Since D = E + 9 and E = A + 7, D = A + 7 + 9 = A + 16.

We have A < C, A < E < D < B, D = E + 9 = A + 16, E = A + 7.

B says to C, that E < C. If B > C then B would be lying, so then E > C, and then A < C < E < D < B. However, C says to D, that C = D ± 6; since C < D, this gives C = D - 6. However, we have E = D - 9, which would make E < C, giving a contradiction. The assumption that B > C is therefore false, so B < C.

We have A < E < D < B < C, D = E + 9 = A + 16, E = A + 7.

A says to B, that B = (17/10)A. As A < B, A is telling the truth.

We have A < E < D < B < C, B = (17/10)A, D = E + 9 = A + 16, E = A + 7.

B says to C, that |C - D| = |D - E| ? |C - D| = 9. As B < C, B is telling the truth, so C = D + 9. As D = A + 16, C = A + 16 + 9 ? C = A + 25.

We have A < E < D < B < C, B = (17/10)A, C = A + 25, D = A + 16, E = A + 7.

Using D < B < C, we have A + 16 < (17/10)A < A + 25 ? 16 < (7/10)A < 25 ? 160/7 < A < 250/7 ? 22 + 6/7 < A < 35 + 5/7. Since B and A must both be whole numbers, and B = (17/10)A ? B - A = (7/10)A, (7/10)A must be a whole number. Hence A must be divisible by 10. The only whole number fitting 22 + 6/7 < A < 35 + 5/7 is A = 30.

We have A = 30, B = (17/10)A, C = A + 25, D = A + 16, E = A + 7.

Hence A = 30, B = 51, C = 55, D = 46, E = 37.

A VERBAL DESCRIPTION OF THE REASONING

Cody tells Alex she's older than her by 10 years. If Cody is younger, she's lying, and that's impossible, so Cody must be older than Alex, just not by 10 years.

FACT: Cody is older than Alex (but not by 10 years).

Cody also lies to (younger) Alex that Brook is younger than Dusty.

FACT: Dusty is older than Brook.

Dusty tells the truth to (older) Brook that she's 9 years older than Erin.

FACT: Dusty is 9 years older than Erin.

Erin tells the truth to (older) Brook that she's 7 years older than Alex.

FACT: Erin is 7 years older than Alex.

Alex tells the truth to (older) Brook that Brook's age is 70% greater than her own. For Brook's age to be a whole number, Alex's age must be a multiple of 10. Since Brook is older than Dusty, and Dusty is 7 + 9 = 16 years older than Alex, that means Brook has to be more than 16 years older than Alex. The lowest multiple of 7 greater than 16 is 21.

FACT: Alex is at least 30 years old (and definitely a multiple of 10).

At this point, Brook appears to be the oldest, lying lady. Let's assume that, and see if it works.

In that case, Cody is lying to Dusty that the difference in their ages is 6 years, but Brook tells the truth to (older) Cody that the difference between Cody's age and Dusty's is the same as the difference between Dusty's and Erin's, namely, 9 years. Let's test this scenario, assuming Alex's age is 30. Then we get, from youngest to oldest:

TESTING: Alex = 30, Erin = 37, Dusty = 46, Brook = 51, Cody = 55

Checking all statements and the age relations shows that this is an answer. Is this the only answer?

If Alex's age was 40, then Brook's age would be 68, and Cody's age would be 65, so Cody would not be the oldest, and that would be a fatal flaw. If Alex is older than 30, Brook is older than Cody, and Cody is not the oldest. Hence, it must have been the only answer.

Try more Logic Puzzles
See this puzzle without solution