[Math] How to solve multiplication alphametics

arithmeticcryptarithmelementary-number-theorypuzzle

I am referring to puzzles like these, where every letter represents a unique number (0-9):

    ERGO       MAD       LYNDON
 *   SUM   *   MAN      *     B
 -------   -------      -------
  COGITO    ASYLUM      JOHNSON

Are there any useful tips for solving these? In similar addition alphametics, you usually have to look for carry-on and you continue from there.

But what should I look for in multiplication alphametics? Should I write them as shown above and use long multiplication to solve this, or write them in a regular a * b = c format?

Right now I have no idea where to start – what to look for that could help me, and what technique I should use to continue solving this.

I am looking for tips because I'm clueless and couldn't find any info about how to solve puzzles like these. Any help is appreciated.

Best Answer

Canonically, I don't know of any 'short cuts' for problems such as this. In general it's just trial-and-error along with some deductive elimination and a lot of branch-and-bound search. I do recommend keeping them in the long-multiplication format, since it makes the bookkeeping a bit easier.

As an example, consider the last problem. Since N*B=N (mod 10), then either B=1 (which can't be the case because the result is longer than the multiplicand) or N has no multiplicative inverse mod 10. This immediately eliminates most of the possibilities for the pair (N, B), leaving you with either N=0 (in which case the same situation can be repeated with B and O), N=5 and B odd, or N even and B=6. Then the repetition of the digit O upon multiplication by B can be used to narrow down possibilities even further; etc.

Similar analyses can start to whittle down the other problems; in the first you have a similar situation for the last digits, along with the fact (by counting digits) that S*E must be less than 10, which narrows down the possibilties for both sharply. In the second, M can't be 1 or 2 for similar product-length reasons, and you can eliminate M=3 without too much effort: M=3 forces A=1 (by product-length reasons), and the only product 31X*31Y that can produce a last digit of 3 and have enough length is 317*319, whose product 101123 doesn't match the ASYLUM digit pattern.

Above and beyond this sort of thing, though, you're mostly stuck with trial-and-error; partial-product versions (where all of the long-multiplication terms 'below the line' that sum to the final product are shown) tend to be substantially easier because there's more opportunity for this sort of deduction.

Related Question