# Enigmatic Code

Programming Enigma Puzzles

## Enigma 1714: Penny-farthing

From New Scientist #2881, 8th September 2012 [link]

The penny-farthing was a precursor to the modern bicycle. It had one very large wheel with pedals, over which was the saddle, and one much smaller trailing wheel to enable steering. We have some very early film of my great-grandfather riding one he had built. It had a large wheel 6 metres in circumference with 48 spokes, and a small one of one-third that diameter having 20 spokes. It had no brakes. He was hurtling downhill – luckily at less than 50 km/h – and just before he fell off, the film appears to show both wheels not rotating. If the film is showing 16 frames per second how fast, in kilometres per hour, was he then travelling?

[enigma1714]

### 4 responses to “Enigma 1714: Penny-farthing”

1. Jim Randell 5 September 2012 at 5:28 pm

If I understand the puzzle correctly, it is fairly straightforward to solve…

The large wheel has a circumference of 6m and 48 spokes, so the spokes are 1/8m apart at the rim of the wheel.

The small wheel is a third the diameter (and hence a third the circumference), so it has a circumference of 2m and has 20 spokes, so the spokes are 1/10m apart at the rim.

In order for the wheels to appear stationary when filmed and played back at 16 fps, a whole number of spokes need to have moved around in 1/16s for both wheels.

The smallest (non-zero) speed at which the wheels will synchronise will be if 4 spokes of the big wheel have gone round in 1/16s (meaning the big wheel has travelled 1/2m), and 5 spokes of the small wheel have gone round in 1/16s (meaning that the small wheel has also travelled 1/2m).

If the wheels travel 1/2m in 1/16s they are going 8m/s, or 28.8km/h.

The effect will also occur at whole number multiples of this speed.

Solution: The penny-farthing was travelling at 28.8 km/h.

• Jim Randell 5 September 2012 at 8:24 pm

Here’s a simple Python program to compute the solution using the fractions module.

```from fractions import Fraction
from itertools import count
from enigma import printf

# circumferences (big/small)
(C, c) = (6, 2)

# spokes
(S, s) = (48, 20)

# distance travelled between spokes
(D, d) = (Fraction(C, S), Fraction(c, s))

# how many of the big spokes move per frame?
for i in count(1):
# and the small spokes?
n = Fraction(i * D, d)
# it needs to be a whole number
if n.denominator != 1: continue
# calculate the speed (in km/h)
v = 16 * D * i * 3.6
# should be less than 50 km/h
if not(v < 50.0): break
printf("{v} km/h [{i}/{n} spokes/frame]")
```
2. Chris Finn 24 September 2012 at 2:28 pm

I’d already solved this with just pencil and paper (not even a calculator).
Why did someone publish the solution?
I thought this was not allowed. It certainly isn’t ‘cricket’….

• Jim Randell 24 September 2012 at 6:59 pm

I normally try to avoid disclosing the answer explicitly on my comments (until the deadline for entries has passed), but with a puzzle this straightforward it’s difficult to talk about the solution in a way that doesn’t disclose it.