# Sunday Times Teaser 2683 – House to House

*by Robin Nayler*

Four families (A, B, C and D) live in this order on a road with consecutively numbered houses on one side only.

The number of houses between A’s and B’s houses is a multiple of the number of houses between B’s and C’s houses.

The number of houses between A’s and C’s houses is the same multiple of the number of houses between C’s and D’s houses.

A’s house number is in the teens and D’s house number has the same digits as A’s but in reverse order.

What are the four house numbers?

6 Comments
Leave one →

Taking A = 10 + x and D = 10.x + 1, we have B – A – 1 = k.(C – B – 1) and C – A – 1 = k.(D – C – 1) with 11 < A < B < C < D < 92 and the multiple (k) greater than one. This gives (k + 1).C = 11 + 10.k.x and (k + 1).B = 11 + x + k.(C - 1). Starting with x = 9 and k = 2 we can easily reach the solution by trial and error.

Here’s a Python solution (using some routines from my

enigma.pylibrary).Removing the restriction that m is a proper multiple leads to two further solutions where C is equidistant between A and D, and B is equidistant between A and C.

HI Jim,

I removed the unnecessary import and your earlier comment – I hope you are happy with this.

Intellectually I prefer your solution to my own as I didn’t like the use of a limited range for ‘m’ in my solution as I could not find a mathematical basis for an upper limit as low as 10.

Being overly pedantic, since B has to fit between A and C, I think the lower limit for C can be A + 4 rather than A + 2.

I wasn’t entirely happy with stepping C through all the available positions between A and D. It’s probably more efficient to see how many positions there are and just consider divisors of that number (where it’s possible for it to be divided it into

nequal sized chunks).This program uses the divisors() function from by

enigma.pylibrary.And thanks for doing the edit to my previous comment.

Yes, that neatly removes my concern about the limits on ‘m’ in my earlier solution: