**From New Scientist #1459, 6th June 1985** [link]

The ages of George’s four daughters add up to 70. Amanda says that the exact figures are 8, 16, 21, and 25. But Brenda says that Celia is 15. Delia, on the other hand, says that Celia is 18.

This is all very confusing, until you know about a strange family habit. It is to state one’s own age correctly but to overstate the age of anyone older and to understate the age of anyone younger.

Even after making all possible deductions so far, you cannot work out the age of each daughter. For that you need a bit more information, for instance the number of years separating Belinda and Celia.

Please supply the name and age of the four.

There are now 894 **Enigma** puzzles on the site, and I think this is around half of all the **Enigma** puzzles published in *New Scientist*, from **Enigma 1** in February 1979 to **Enigma 1780** in December 2013.

To help me keep on top of posting the remaining **Enigma** puzzles I’m going to change the posting schedule to two puzzles a week, one on Friday and one on Monday. Which means, if I can keep sourcing the puzzles, I will have enough to last another 8.6 years!

[enigma311]

### Like this:

Like Loading...

This Python 2 program runs in 87ms. (I used the

filter_unique()function from theenigma.pylibrary, rather than spin the possibilities into acollections.defaultdict()).Solution:Amanda is 16. Brenda is 24. Celia is 17. Delia is 13.The program presented does not run under Python 3 because it uses

Tuple Parameter Unpackingwhich was removed from Python 3 (see PEP 3113). I think this was a bit of a shame, because although you can easily work around the removal it does make the resulting code look messy. (On the plus side if you do modify the program to run under Python 3 you can use theyield fromconstruct in the recursive call indecompose()and stop it from working in Python 2).Before we are given the difference between B and C there are 5 possibilities: