# Identify unique Verbal Arithmetic Puzzles

I am attempting to create original Verbal Arithmetic puzzles such as the famous one from this question Alphametic (Verbal Arithmetic) general strategy :

SEND+MORE=MONEY

For these problems each letter represents a different one digit number but the equation still holds true. The first letter (M or S in this case) cannot be 0 of course as that would mean they would be omitted.

My main issue with creating new ones is that most of the puzzles I develop have more than 1 solution. For example, there are 3 correct and distinct solutions to:

TWO x SIX = TWELVE

In this case, I can reduce this to one answer by making it a long multiplication problem with marked blank areas for where digits are needed but this sort of ruins the problem. My question, therefore, is what strategies can I use to develop original, unique verbal arithmetic problems that only have one possible solution?

Edit: Can anyone think of any strategies for designing the puzzles, rather than just creating them and testing for the existence of solutions and uniqueness, as suggested by Ross Millikan's answer below?

• How do you solve it? Usually you solve such a puzzles starting from some letters, knowing basic Rules (like shown here: puzzling.stackexchange.com/a/52/28 ) you can find one number, then the other one, ... and all of them. To create such a puzzle you should chose the Rules you want the solver to apply and think backwards. (Then you will need to change letters in such a way that you'll get words out of numbers). – klm123 Jun 4 '14 at 18:57

I would write a program that checks these for answers. As $10!=3,628,800$ is small, it will be able to check any puzzle instantly. You have to decide what forms you want it to do. Then for ones like $TWO \times SIX = TWELVE$ you have have a calling program that goes through the multiplication table, or you can have one that does partitions checking $ONE+FOUR=FIVE$ or $ONE + FOUR+ FOUR=NINE$, first checking that the number of letters is acceptable, then checking for a solution.

Cryptarithms are NP-complete, see https://www.ics.uci.edu/~eppstein/pubs/Epp-SN-87.pdf. Furthermore, to the point of your question, if they're in carefully chosen bases (not 10), the problem is also ASP-complete, see http://www.math.ru.nl/onderzoek/reports/rep2004/rep04_19.ps.gz.

ASP-completeness means (loosely speaking) that given an instance (SEND+MORE = MONEY) and a solution (M=1, etc.), it's computationally difficult to determine whether there is a second distinct solution or not.

Thus my recommendation is exhaustive search, or rather pruned search: try assigning values to letters until you run into a contradiction or you find a solution. Once you've found one solution, keep searching until you've found or ruled out a second solution.

The pruning step is like so: in the case of ONE + FOUR + FOUR = NINE, if you try E=1, R=2 and conclude that 1+2+2 = 5 ≠ 1, i.e. your choice of E and R is inconsistent with E being the rightmost letter/digit of NINE, you don't have to investigate E=1,R=2,N=3 nor E=1,R=2,N=4 etc.; you can conclude that no solution has both E=1 and R=2, so you don't need to explore further.

Note: I recommend fairly brute search even though the ASP-completeness doesn't hold for base 10. This is because I suspect there are no special features of the number 10 which would make puzzles in base 10 significantly easier than puzzles in any other basis. It helps that 10! is a modest number and that you don't even have to look at all possibilities if you prune half-way decently.