## Teaser 2966: On track

**From The Sunday Times, 28th July 2019** [link]

Sarah and Jenny are runners who train together on a circular track, and Sarah can run up to 20 per cent faster than Jenny. They both run at a constant speed, with Sarah running an exact percentage faster than Jenny. To reduce competition they start at the same point, but run round the track in different directions, with Sarah running clockwise.

On one day they passed each other for the seventh time at a point which is an exact number of degrees clockwise from the start. Sarah immediately changed her pace, again an exact percentage faster then Jenny. After a few [additional] passes both runners reached the exit, at a point on the track an exact number of degrees clockwise from the start, at the same time.

How fast, relative to Jenny, did Sarah run the final section?

[teaser2966]

## Jim Randell 8:20 pm

on26 July 2019 Permalink |If

Sis goingppercent faster thanJ, she is going at rate of(1 + p/100)times as fast asJ.If they meet after

Jhas travelled throughddegrees of the circle, thenShas travelled throughd(1 + p/100)degrees of the circle, and together these must make up the full circle. So:And if they meet at an exact number of degrees after

kpassings:must be an integer.

This Python program finds possible percentage increases for

Swhere she meetsJat an exact number of degrees for up to 7 passings. It runs in 81ms.Run:[ @repl.it ]Solution:Sarah ran the final section 16% faster than Jenny.For the first section Sarah was running 10% faster than Jenny.

And the final section lasted for some multiple of 3 crossings. Probably 3 or 6, as there are only “a few” additional passes, but we don’t need to know that to get the answer to the puzzle.

Further solutions appear if we allow higher values of

k. For example, atk = 11we get a solution whereSis 20% faster thanJ, but from the wording of the puzzle it seems likely that the number of passings in the final section is fewer than 7, so we get a unique answer.LikeLike

## John Crabtree 2:19 am

on27 July 2019 Permalink |You could calculate the minimum k for any p. In Excel format:

k = +(200 + p) / GCD(36000, 200 + p)

Then if k < 8, print k and p

I am not a Python programmer, but understand that Python does have a gcd function.

LikeLike

## Jim Randell 8:07 am

on27 July 2019 Permalink |@John: Python does indeed have [[

`gcd()`

]].We can generate the list of first

kfor eachp, and then output them inkorder:LikeLike

## Jim Randell 2:19 pm

on1 August 2019 Permalink |Here’s a program that uses a similar approach to generate the solutions in a given range (in this case p = 1..20, k = 1..7, like my first program):

LikeLike

## Robert Brown 11:35 am

on1 August 2019 Permalink |For each p value, you found equivalent k value. I reversed this, leading to an easy manual solution.

At k passings, J has travelled 180k+x and S has travelled 180k–x giving J/S = (180k+x)/(180k–x).

(x = integer, k is prime to avoid duplication). This gives the following rapid 3 line solution:

k = 7 J/S = 1260+x / 1260-x By inspection, x = 60 giving J/S = 1.10

k = 2 J/S = 360+x / 360-x By inspection, x = 60 giving J/S = 1.40 (too large)

k = 3 J/S = 540+x / 540-x By inspection, x = 40 giving J/S = 1.16 (the answer)

LikeLike