Sunday Times Teaser 2587 – Hobson’s Choice
by Adrian Somerfield
Published: 22 April 2012 (link)
A B C D
E F G H
I J K L
M N O P
In the diagram the letters represent the numbers 1 to 16 in some order. They form a magic square, where the sum of each row, each column and each main diagonal is the same. The letters of the word “CHOICE” and some others (including all the letters not used in the magic square) have a value equal to their position in the alphabet (C=3, H=8 etc).
What is the value of H+O+B+S+O+N?
One Comment
Leave one →
-
Brian Gladman permalink123456789101112131415161718192021222324252627282930313233343536373839404142434445# the sum of all 16 values is 16 * 17 / 2 = 136 so all the row,# columns and diagonals sum to 34. Also the letters in CHOICE# are known giving:## A B 3 D# 5 F G 8# 9 J K L# M N 15 P## By analysing the row, column and diagonal sums, we can express# all letter values in terms of A and G as follows:## B = 2.(G - A + 7)# D = A - 2.G + 17# F = 21 - G# J = G - 3# K = 16 - G# L = 12# M = 20 - A# N = 2.(A - G + 1)# P = 2.G - A - 3from itertools import permutations# known letter values(C, E, H, I, L, O, S) = t1 = (3, 5, 8, 9, 12, 15, 19)for A, G in permutations(range(1, 17), 2):# compute other values from A and G using the# above equations(B, D, F, J, K, M, N, P) = t2 = (2 * (7 + G - A), A - 2 * G + 17, 21 - G, G - 3,16 - G, 20 - A, 2 * (A - G + 1), 2 * G - A - 3)# compile the set of letters making up the square gridt = set(t1 + t2 + (A, G)).difference([S])# and check that they are all different and in the# range 1..16 inclusiveif len(set(t)) == 16 and all(0 < x < 17 for x in t):print('The digits in HOBSON sum to {}.'.format(sum((H, O, B, S, O, N))))