All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 5x5 Grid Alphamagic (Posted on 2009-09-27)
Substitute each of the capital letters in bold by a different digit from 0 to 9, such that each of the columns, each of the rows and each of the two main diagonals of this 5x5 grid have the same sum, where none of the numbers in the 25 cells contains a leading zero.

TI    KT    NS    OB    UL
CN   IO    CC    UK    TB
IU    OL    UI    SC    CS
OK   UB    TL    KO    IT
NC   TK    KU    NN   OI

 See The Solution Submitted by K Sengupta No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 computer solution | Comment 1 of 2
`76  37  58  19  4025  61  22  43  7964  10  46  82  2813  49  70  31  6752  73  34  55  16230 (sum of each row, col, diag)`

DATA "TI   KT   NS   OB   UL"
DATA "CN   IO   CC   UK   TB"
DATA "IU   OL   UI   SC   CS"
DATA "OK   UB   TL   KO   IT"
DATA "NC   TK   KU   NN   OI"

FOR i = 1 TO 5
FOR j = 1 TO LEN(puzRow\$(i))
c\$ = MID\$(puzRow\$(i), j, 1)
IF c\$ >= "A" AND c\$ <= "Z" THEN
ix = INSTR(ltrs\$, c\$)
IF ix = 0 THEN ltrs\$ = ltrs\$ + c\$
END IF
NEXT
NEXT

PRINT LEN(ltrs\$)

l = 0
FOR t = 1 TO 9
IF used(t) = 0 THEN
used(t) = 1
FOR k = 1 TO 9
IF used(k) = 0 THEN
used(k) = 1
PRINT t; k; "   ";
FOR n = 1 TO 9
IF used(n) = 0 THEN
used(n) = 1
FOR s = 1 TO 9
IF used(s) = 0 THEN
used(s) = 1
FOR o = 1 TO 9
IF used(o) = 0 THEN
used(o) = 1
FOR u = 1 TO 9
IF used(u) = 0 THEN
used(u) = 1
FOR c = 1 TO 9
IF used(c) = 0 THEN
used(c) = 1
FOR i = 1 TO 9
IF used(i) = 0 THEN
used(i) = 1
FOR b = 1 TO 9
IF used(b) = 0 THEN
used(b) = 1

FOR row = 1 TO 5
FOR col = 1 TO 5
c10\$ = LCASE\$(MID\$(puzRow\$(row), (col - 1) * 5 + 1, 1))
SELECT CASE c10\$
CASE "t"
v = 10 * t
CASE "k"
v = 10 * k
CASE "n"
v = 10 * n
CASE "b"
v = 10 * b
CASE "o"
v = 10 * o
CASE "u"
v = 10 * u
CASE "c"
v = 10 * c
CASE "i"
v = 10 * i
CASE "s"
v = 10 * s
END SELECT
c1\$ = LCASE\$(MID\$(puzRow\$(row), (col - 1) * 5 + 2, 1))
SELECT CASE c1\$
CASE "t"
v = v + t
CASE "k"
v = v + k
CASE "n"
v = v + n
CASE "b"
v = v + b
CASE "o"
v = v + o
CASE "u"
v = v + u
CASE "c"
v = v + c
CASE "i"
v = v + i
CASE "s"
v = v + s
END SELECT
gr(row, col) = v
NEXT
NEXT
totl = 0
FOR col = 1 TO 5
totl = totl + gr(1, col)
NEXT
totGoal = totl
good = 1
FOR row = 1 TO 5
totl = 0
FOR col = 1 TO 5
totl = totl + gr(row, col)
NEXT
IF totl <> totGoal THEN good = 0: EXIT FOR
NEXT
IF good THEN
FOR col = 1 TO 5
totl = 0
FOR row = 1 TO 5
totl = totl + gr(row, col)
NEXT
IF totl <> totGoal THEN good = 0: EXIT FOR
NEXT
END IF
IF good THEN
totl = 0
FOR col = 1 TO 5
row = col
totl = totl + gr(row, col)
NEXT
IF totl <> totGoal THEN good = 0: EXIT FOR
END IF
IF good THEN
totl = 0
FOR col = 1 TO 5
row = 6 - col
totl = totl + gr(row, col)
NEXT
IF totl <> totGoal THEN good = 0: EXIT FOR
END IF
IF good THEN
PRINT
FOR row = 1 TO 5
FOR col = 1 TO 5
PRINT gr(row, col);
NEXT
PRINT
NEXT
PRINT totGoal
PRINT
PRINT
END IF

used(b) = 0
END IF
NEXT
used(i) = 0
END IF
NEXT
used(c) = 0
END IF
NEXT
used(u) = 0
END IF
NEXT
used(o) = 0
END IF
NEXT
used(s) = 0
END IF
NEXT
used(n) = 0
END IF
NEXT
used(k) = 0
END IF
NEXT
used(t) = 0
END IF
NEXT

END

 Posted by Charlie on 2009-09-27 22:07:02

 Search: Search body:
Forums (0)