Associated Topics || Dr. Math Home || Search Dr. Math

### Crypto-Number Puzzle

```
Date: 01/21/97 at 08:56:18
From: Ivan
Subject: Good luck with this one!

I received this problem when I was still attending secondary school.
I still haven't figured it out.

A simple adding sum like one gets to do in one's third or is it
second school year? But... the digits are hidden by alphanumeric
symbols. Each symbol represents a digit. When all the symbols have
been exchanged for digits, the sum should work:

O N E
T W O
T W O
T H R E E
+  T H R E E
-------------------
E L E V E N

The answer should look something like:

0 3 1
4 8 0
4 8 0
4 5 6 1 1
+  4 5 6 1 1
-----------------
1 9 1 2 1 3

The values of each letter are: 0 = O, 1 = E, 2 = V, 3 = N, 4 = T,
5 = H, 6 = R, 7 not used, 8 = W, 9 = L. It is incorrect unfortunately
because 031 + 480 + 480 + 45611 + 45611 does not equal 191213.

According to the teacher who gave us the problem, it does have a
solution.  I never got around to asking him what it was.

Ivan Smit
```

```
Date: 01/21/97 at 23:00:16
From: Doctor Mitteldorf
Subject: Re: Good luck with this one!

Dear Ivan,

Thanks for the puzzle.  I haven't solved one of these crypto-number
puzzles since I was eleven years old and my dad gave me:

SEND + MORE = MONEY

It's not hard to write a program that finds solutions the dumb way,
by checking every possible permutation of the digits. In fact, on my
Pentium 133, the attached program only takes 2 minutes to run.
You might like to try it, or better still, try making it more
efficient by eliminating some of the searches that you can tell in

I got three independent solutions, but two of them have E = 0, which
is not so elegant, since we don't usually write numbers with leading
zeros.  The unique "elegant" solution is:

391
803
803
84611
84611
------
171219

Here's a program listing in Turbo Pascal:

program Eleven;

{Solve the cryptogram    ONE
TWO
TWO
THREE
THREE
-----
ELEVEN}

var o,n,e,t,w,h,r,l,v  :longint;
s,outstr :string;
fout :text;

procedure TryOne;
var x,y :longint;
begin
o:=ord(outstr[1])-48;
n:=ord(outstr[2])-48;
e:=ord(outstr[3])-48;
t:=ord(outstr[4])-48;
w:=ord(outstr[5])-48;
h:=ord(outstr[6])-48;
r:=ord(outstr[7])-48;
l:=ord(outstr[8])-48;
v:=ord(outstr[9])-48;
if 102*o + 10*n + 23*e + 20200*t + 20*w + 2000*h + 200*r
= 101010*e + 10000*l + 100*v + n
then begin
assign(fout,'ELEVEN.TXT'); append(fout);
writeln(fout,'o=',o);
writeln(fout,'n=',n);
writeln(fout,'e=',e);
writeln(fout,'t=',t);
writeln(fout,'w=',w);
writeln(fout,'h=',h);
writeln(fout,'r=',r);
writeln(fout,'l=',l);
writeln(fout,'v=',v);
writeln(fout,'n=',n);
writeln(fout);
writeln(fout,'   ',o,n,e);
writeln(fout,'   ',t,w,o);
writeln(fout,'   ',t,w,o);
writeln(fout,' ',t,h,r,e,e);
writeln(fout,' ',t,h,r,e,e);
writeln(fout,'--------');
writeln(fout,e,l,e,v,e,n);
writeln(fout);
writeln('   ',  o,n,e);
writeln('   ',  t,w,o);
writeln('   ',  t,w,o);
writeln(' ',t,h,r,e,e);
writeln(' ',t,h,r,e,e);
writeln('--------');
writeln(e,l,e,v,e,n);
close(fout);
end;
end;

procedure Permute_it(s :string);
var ss    :string;
i,len :integer;
begin
len:=length(s);
if (len=0) then
TryOne
else for i:=1 to len do
begin
outstr:=outstr+s[i];
ss:=s;
delete(ss,i,1);
Permute_it(ss);
Delete(outstr,length(outstr),1);
end;
end;

begin
outstr:='';
s:='0123456789';
Permute_it(s);
end.

-Doctor Mitteldorf,  The Math Forum
Check out our web site!
```
Associated Topics:
High School Puzzles
Middle School Puzzles

Search the Dr. Math Library:

 Find items containing (put spaces between keywords):   Click only once for faster results: [ Choose "whole words" when searching for a word like age.] all keywords, in any order at least one, that exact phrase parts of words whole words

Submit your own question to Dr. Math
Math Forum Home || Math Library || Quick Reference || Math Forum Search