 All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars  perplexus dot info  Animal Magic (Posted on 2008-03-21) Can you find one five figure number, with distinct digits between 1 and 9, which satisfies all four of the following equations?

SNAKE * 2 = MERES
COYPU * 8 = POODLE
TIGER * 13 = BEWAIL
OKAPI * 14 = HIJACK

Repeated letters within an equation refer to the same digit. The same letter appearing in different equations does not necessarily refer to the same digit.

The puzzle can be solved from just two equations. The other two are for fun/reference.

This is similar to Can't see the wood for the trees

 No Solution Yet Submitted by Josie Faulkner Rating: 3.0000 (2 votes) Comments: ( Back to comment list | You must be logged in to post comments.) re(2): Well, if you only rely on two ... (computer solution; spoiler) | Comment 3 of 6 | (In reply to re: Well, if you only rely on two ... (computer solution; spoiler) by Josie Faulkner)

You are right. My program only checked in one direction to be sure that a given digit is represented by only one letter, but not whether a given letter represents only one digit.  The corrected program finds only one solution regardless of what pair of equations you choose.

DECLARE FUNCTION ok! (s1\$, s2\$)
CLS
FOR n1 = 1 TO 4
taken(n1) = 1

FOR n2 = 0 TO 9
IF taken(n2) = 0 THEN
taken(n2) = 1

FOR n3 = 0 TO 9
IF taken(n3) = 0 THEN
taken(n3) = 1

FOR n4 = 0 TO 9
IF taken(n4) = 0 THEN
taken(n4) = 1

FOR n5 = 0 TO 9
IF taken(n5) = 0 THEN
taken(n5) = 1

n = 10000 * n1 + 1000 * n2 + 100 * n3 + 10 * n4 + n5
nt1\$ = LTRIM\$(STR\$(n))
nt2\$ = LTRIM\$(STR\$(n * 2))
nt3\$ = LTRIM\$(STR\$(n * 8))
nt4\$ = LTRIM\$(STR\$(n * 13))
nt5\$ = LTRIM\$(STR\$(n * 14))

IF ok(nt1\$ + nt2\$, "snakemeres") THEN t1 = 1:  ELSE t1 = 0
IF ok(nt1\$ + nt3\$, "coypupoodle") THEN t2 = 1:  ELSE t2 = 0
IF ok(nt1\$ + nt4\$, "tigerbewail") THEN t3 = 1:  ELSE t3 = 0
IF ok(nt1\$ + nt5\$, "okapihijack") THEN t4 = 1:  ELSE t4 = 0

IF t1 + t2 + t3 + t4 >= 2 THEN
PRINT : PRINT t1; t2; t3; t4
PRINT n
IF t1 THEN PRINT nt2\$:  ELSE PRINT "not fit"
IF t2 THEN PRINT nt3\$:  ELSE PRINT "not fit"
IF t3 THEN PRINT nt4\$:  ELSE PRINT "not fit"
IF t4 THEN PRINT nt5\$:  ELSE PRINT "not fit"
END IF

'END IF
'END IF
'END IF
'END IF

taken(n5) = 0
END IF
NEXT

taken(n4) = 0
END IF
NEXT

taken(n3) = 0
END IF
NEXT

taken(n2) = 0
END IF
NEXT

taken(n1) = 0
NEXT

FUNCTION ok (s1\$, s2\$)
IF LEN(s2\$) <> LEN(s1\$) THEN ok = 0: EXIT FUNCTION
chk\$ = SPACE\$(LEN(s1\$))
FOR i = 1 TO LEN(s1\$)
c1\$ = MID\$(s1\$, i, 1): c2\$ = MID\$(s2\$, i, 1)
ix = INSTR(s1\$, c1\$)
IF ix < i THEN
IF MID\$(chk\$, ix, 1) <> c2\$ THEN ok = 0: EXIT FUNCTION
END IF
MID\$(chk\$, i, 1) = c2\$
NEXT
chk\$ = SPACE\$(LEN(s1\$))
FOR i = 1 TO LEN(s1\$)
c1\$ = MID\$(s1\$, i, 1): c2\$ = MID\$(s2\$, i, 1)
ix = INSTR(s2\$, c2\$)
IF ix < i THEN
IF MID\$(chk\$, ix, 1) <> c1\$ THEN ok = 0: EXIT FUNCTION
END IF
MID\$(chk\$, i, 1) = c1\$
NEXT
ok = 1
END FUNCTION

 Posted by Charlie on 2008-03-21 21:57:26 Please log in:

 Search: Search body:
Forums (0)