From The Sunday Times, 10th August 1975 [link]
A farmer grows apples in an orchard divided into plots —three to the East and three to the West of a central path. The apples are of two types — for eating (Cox, Laxton, Pearmain) and for cider making (Tremlitt, Coppin, Kingston).
Adjacent plots contain apples of different basic type. The apples are of six colours (red, green, russet, golden, orange, yellow) and of six tastes (sweet, sour, acid, tart, pleasant, bitter).
They ripen at different times, either early or late in July, August and September. Those ripening in early or late September are in plots directly opposite. Those South of Pearmain do not ripen in August. Tart are directly West of the acid variety, which ripens in early August. Yellow apples and those maturing in late September are adjacent. Yellow and orange are of the same type. Orange are North of pleasant and also North of Pearmain. Kingstons are adjacent to golden. Green is South of bitter.
Cox ripen in early July, and Laxtons ripen early in a different month. Tremlitts are red, and Kingstons mature after Coppins, which are not sour.
If cider apples taste unpleasant, what are the characteristics of the apples in North East plot? (Name, colour, taste, ripens).
This puzzle is included in the book The Sunday Times Book of Brain-Teasers: Book 2 (1981).
I think the puzzle as published in The Sunday Times and in the book is open to interpretation, and my first attempt using a reasonable interpretation gave two solutions (neither of which are the published solution). After examining the given solution in the book I think the following wording is clearer:
A farmer grows apples in an orchard divided into plots — three to the East and three to the West of a central track. Adjacent plots are separated by a shared fence. The apples are of two basic types — for eating (Cox, Laxton, Pearmain) and for cider making (Tremlitt, Coppin, Kingston).
Neighbouring plots contain apples of different basic type. The apples are of six colours (red, green, russet, golden, orange, yellow) and of six tastes (sweet, sour, acid, tart, pleasant, bitter).
They ripen at different times, either early or late in July, August and September. Those ripening in early or late September are in plots directly opposite each other. Those directly South of Pearmain do not ripen in August. Tart are directly West of the acid variety, which ripens in early August. Yellow apples and those maturing in late September are in adjacent plots. Yellow and orange are of the same basic type. Orange are directly North of Permain, which are pleasant. Kingstons and golden are in adjacent plots. Green is directly South of bitter.
Cox ripen in early July, and Laxtons ripen early in a different month. Tremlitts are red, and Kingstons mature after Coppins, which are not sour.
If cider apples are neither pleasant nor sweet, what are the characteristics of the apples in North-East plot?
[teaser734]
Jim Randell 7:26 am on 30 August 2026 Permalink |
Using some useful routines from the enigma.py library, I was able to write a short program for this puzzle.
Unfortunately I was not able to find a solution using the values given in the puzzle text.
However, if I make the long rods 98 inches long (instead of 94 inches long), then I do find a viable solution. (Perhaps the car extruded the canes, so the two pieces together ended up longer than the original cane).
The longest and shortest pieces must come from the same cane, and likewise the remaining pieces. This Python program considers what integer sided triangles could be made from a broken rod of length L, and a complete rod of length S, that have an integer area. And then looks for two such triangles that differ by the required amount D.
It runs in 80ms. (Internal runtime is 232µs).
from enigma import (decompose, triangle_iarea, subsets, printf) # lengths of the long rod, short rod, required difference in area #(S, L, D) = (70, 94, 504) # published formulation (S, L, D) = (70, 98, 504) # alternative formulation # record the lengths of the broken rod, and the triangle area r = dict() # break a long rod in to two integer parts for (a, b) in decompose(L, 2, increasing=1, sep=0, min_v=1): # make a triangle using these pieces and a short rod A = triangle_iarea(a, b, S) if not A: continue # record possible triangles r[(a, b)] = A printf("[tri({a}, {b}, {S}) -> area {A}]") # now look for 2 breaks with the required difference in area for ((k1, A1), (k2, A2)) in subsets(r.items(), size=2): if not (abs(A1 - A2) == D): continue # output solution bits = sorted(k1 + k2) printf("bits = {bits} [{L} = {k1} -> {A1}; {L} = {k2} -> {A2}]")Solution: [To Be Revealed]
LikeLike
Frits 10:51 am on 30 August 2026 Permalink |
Using 98 inches and the constant semi-perimeter 84 in the analysis.
from collections import defaultdict is_square = lambda n: None if (rt := round(n**.5))**2 != n else rt target = 504 long, short = 98, 70 def triangle_area(a, b, c): # semiperimeter, Heron's formula s = (a + b + c) // 2 # a + b + c is even in this case # calculate and check integer area area2 = s * (s - a) * (s - b) * (s - c) if area2 <= 0: return None else: return is_square(area2) # area2 = s.(s - 70).(s - a).(s - b) # area2 = 84.14.(84 - a).(84 - b) = 14^2.6.(84 - a).(84 - b) # a or b must be a multiple of 3 to make area2 a multiple of 3^2 # and at least one of (84 - a) and (84 - b) must be even # so a and b may not be both odd, as a + b is even this means both a and b # must be even d = defaultdict(list) # break longest cane into two integer pieces, starting with a multiple of 6 for p in range(6, long, 6): q = long - p a = triangle_area(p, q, short) if a is None: continue d[a] += [(p, q)] sols = set() for k, vs in d.items(): if (n := k + target) in d: for v1 in vs: for v2 in d[n]: sols.add(tuple(sorted(v1 + v2))) print("answer:", ' or '.join(str(min(s)) for s in sols), "inches")LikeLike
Ruud 12:23 pm on 30 August 2026 Permalink |
Assuming 98 instead of 94 (as suggested by Jim)
import peek import istr def area(a, b, c): s = (a + b + c) / 2 s2 = s * (s - a) * (s - b) * (s - c) return istr(s2).sqrt() if s2 > 0 else 0 n1 = 98 n2 = 70 for l1, l2 in istr.combinations(range(1, n1 // 2 + 1), 2): lengths = sorted((l1, n1 - l1, l2, n1 - l2)) area1 = area(n2, lengths[0], lengths[3]) area2 = area(n2, lengths[1], lengths[2]) if abs(area1 - area2) == 504: peek(l1, l2, lengths)LikeLike
Frits 11:06 am on 31 August 2026 Permalink |
import pells target = 504 # 14^2 * 6 * (84 - a) * (a - 14)) = area^2 # -6 * a**2 + 588 * a - 7056 - p^2 = 0 with area = 14p # discriminant D = (588**2 - 24 * (7056 + p**2)) # D + 24 * p^2 = 176400 d = dict() # find solutions to: x^2 + 24 * p^2 = 176400 for (x, p) in pells.diop_quad(1, 24, 176400): if not p or x % 12: continue # store integer solutions for a of the quadratic equation d[14 * p] = ((588 + x) // 12, (588 - x) // 12) sols = set() for k, v in d.items(): if (n := k + target) in d: sols.add(min(v + d[n])) print("answer:", ' or '.join(str(s) for s in sols), "inches")LikeLike
Jim Randell 11:57 am on 31 August 2026 Permalink |
Ha!
I’d just written a program to look for triangles using a Pell’s equation. But it just ends up doing a brute force search.
If L is split into (L/2 − x, L/2 + x) then the area of the triangle with S is given by:
which is a form of Pell’s equation.
from enigma import (ediv, sq, printf) import pells (S, L, D) = (70, 98, 504) hL = ediv(L, 2) # only works for even L # solve the Pell's equation a.X^2 + b.Y^2 = c d = sq(L) - sq(S) (a, b, c) = (16, 4 * d, d * sq(S)) printf("[a={a} b={b} c={c}]") # find solutions for L = (hL + x, hL - x) for (A, x) in pells.diop_quad(a, b, c): if not (A > 0): continue (L1, L2) = (hL - x, hL + x) printf("tri({L1}, {L2}, {S}) -> area {A}")Even if we set [[
pells.cornacchia_threshold = 0]], if we set the environment variablePY_ENIGMA=vwe see:LikeLike
Frits 1:15 pm on 1 September 2026 Permalink |
Using A = 14p my formula changes to:
It generates the same 4 cases.
LikeLike
Alex.T.Sutherland 1:57 pm on 1 September 2026 Permalink |
This puzzle reminds me of Heronian triangles (triangles with integer sides
and integer area).
Method :-
Create a list of pairs of integer sides (a,b) each pair summing to 98.
(49 pairs each pair-sum is even.This is a requirement.The periphery must be even).
Append the 70″ side (c) to each pair. (a b c).
Calculate the half periphery for each triangle (s) (if possible).
Calculate the area of each triangle (again if possible) using Heron’s formula.
Area = sqrt(s*(s-a)*(s-b)*(s-c)).
Extract those that are integer.
With the previous data I have obtained 4 such triangles with two fitting
the 504 requirement Hence the answer for the shortest piece of cane.
Curiosity:- The sum of the digits in each of the areas was the same.
Time : – < 1ms
LikeLike