# Enigmatic Code

Programming Enigma Puzzles

## Enigma 1493: A simple multiplication

From New Scientist #2655, 10th May 2008

In the multiplication shown below, the digits have been replaced by letters and asterisks. Different letters stand for different digits, the same letter stands for the same digit, an asterisk can be any digit, and leading digits cannot be zero.

What is the six-figure product?

[enigma1493]

### 3 responses to “Enigma 1493: A simple multiplication”

1. Jim Randell 12 November 2012 at 3:18 pm

The following brute-force approach in Python runs in 371ms.

```from enigma import irange, printf

for a in irange(100, 999):
for b in irange(100000 // a, 999):
c = str(a * b)
# c should be 6-digit
if len(c) > 6: break
# and all digits should be different
if len(set(c)) != 6: continue
# determine the intermediate products
c1 = str(a * (b % 10))
if len(c1) != 3: continue
c2 = str(a * ((b // 10) % 10))
if len(c2) != 3: continue
if c2[0] != c[0]: continue
# and 'O' should be different from the other letters
if c2[1] == c2[0] or c2[1] in c: continue
c3 = str(a * (b // 100))
if len(c3) != 3: continue

printf("{a} x {b} = {c} [{c1} + {c2}0 + {c3}00]")
```

Solution: The final six-digit product is 102485.

2. Naim Uygun 12 November 2012 at 4:38 pm
```for x in range(100,1000):
for y in range(100,1000):
n=x*y
simple=str(n)
if len(set(simple)) != 6 : continue
xa=x//100
xb=(x//10)%10
xc=x%10
ya=y//100
yb=(y//10)%10
yc=y%10
if yc*x>999: continue
so=yb*x
if so>999: continue
if ya*x>999: continue
if simple[0] != str(so)[0]: continue
print(x," x ",y," = ",n)
```
3. Jim Randell 5 August 2017 at 10:32 pm

Here’s a solution using the SubstitutedExpression() solver from the enigma.py library. We introduce additional lower case letters to stand for the asterisks in the diagram.

The following run-file executes in 147ms.

```#!/usr/bin/env python -m enigma -r

#     abc
#  x  def
#  ------
#     ghi
#    SOj
#  klm
#  ------
#  SIMPLE
#  ======

SubstitutedExpression

--symbols="EILMOPSabcdefghijklm"
--distinct="EILMOPS"