# Enigmatic Code

Programming Enigma Puzzles

## Tantalizer 419: Wollycobblestones

From New Scientist #969, 2nd October 1975 [link]

There is a fascinating gallstone museum in the Yorkshire town of Wollycobble and folks come from miles around. But it costs a bit of brass to run and there has long been an admission charge. On the principle that the older you are the more interesting other folk’s insides become, the rate is traditionally 1p per year of age. Thus a 10 year old pays 10p, a chap aged 38 pays 38p and so on.

But prices have just had to go up. Yet tradition is sacred. So, craftily, the rate of 1p per year of age remains but now there are only 5p and 7p tickets. As a result the 10 year old still pays 10p (= 5p + 5p) and a 38 year old 38p (= 7p + 7p + 7p + 7p + 5p + 5p); but a 3 year old now pays 5p and an 18 year old 19p (= 7p + 7p + 5p).

The Bundle family makes an annual pilgrimage and, having this year 50 members of all different ages from 1 to 50, arrived expecting to pay £12.75.

At least how much extra did the wily curators extract from them by insisting on the new ticket system?

[tantalizer419]

### One response to “Tantalizer 419: Wollycobblestones”

1. Jim Randell 23 October 2019 at 10:38 am

The [[ `express()` ]] function (as seen in Puzzle #10, Enigma 486) has been incorporated into the latest version of the enigma.py library.

This gives a short Python program to solve the puzzle that runs in 95ms.

Run: [ @repl.it ]

```from enigma import express, irange, cached, printf

# ticket denominations
ds = (5, 7)

# charge is n if n can be expressed exactly
# otherwise it is the same as the charge for n + 1
charge = cached(lambda n: (n if any(express(n, ds)) else charge(n + 1)))

# collect the total additional charge
t = sum(charge(n) - n for n in irange(1, 50))

# output solution
```

Solution: The minimum extra charge is 19p.

As 5 and 7 are co-prime there is a largest number that cannot be expressed with a combination of tickets. This number is: (5 × 7) – (5 + 7) = 23.

The ages that are overcharged are:

1 → 5p; +4p
2 → 5p; +3p
3 → 5p; +2p
4 → 5p; +1p
6 → 7p; +1p
8 → 10p; +2p
9 → 10p; +1p
11 → 12p; +1p
13 → 14p; +1p
16 → 17p; +1p
18 → 19p; +1p
23 → 24p; +1p

Giving a total extra charge of 19p.

This site uses Akismet to reduce spam. Learn how your comment data is processed.