# A method of mental multiplication

A TECHNIQUE FOR MENTAL MULTIPLICATION
(ALSO USEFUL FOR COMPUTER ARITHMETIC)

When I was in Grade School, I was taught the standard way of multiplying numbers with more than one digit. I will describe the method only briefly, since it’s probable that everyone reading this will have seen and used it.
The multiplication starts with the rightmost digit of the multiplier, which multiplies the rightmost digit of the multiplicand. The rightmost digit of the answer is written down and the rest is continued as a “carry”. Then the same digit of the multiplier is used to multiply the next digit of the multiplicand. The carry is added, the rightmost digit of the result is written down, and whatever is left over is continued as a carry for the next digit.
When the rightmost digit of the multiplier has been used to multiply every digit of the multiplicand, then the same process is used for the digit next to the left in the multiplier. The results are written underneath the previous ones, except that the results are written down one digit to the left.
At the end, the final result is computed by adding the columns starting at the right and moving to the left. Any carry resulting is applied to each succeeding leftmost column until all sums are complete.
It always seemed to me that this method was not just tedious but a waste of paper. It certainly ought to be possible to compute the correct answer without writing so much down, and without having to repeat simple steps over and over.
So I set out to find out how to compress the steps I’ve outlined above. The method I came up with is mathematically completely equivalent to the long form of multiplication I mentioned. As a side benefit, it will work in any number base.
I have shown this method to very many people over the past 50 or more years, and no one has ever said “oh, this is just like the XYZ method”. In fact, everyone has told me that my method is unique. I find that very difficult to believe, considering how easy it is. If you have heard of something similar, please let me know. I am ready to hear that my technique is at least 500 years old, if not older.
Let’s suppose we are multiplying 74 by 36. By inspection, we can see that the result must end in 4. This is a hint to remind us how to procede. We write down 74 and under it write 36, but with the digits reversed:
74
63

We always multiply only the digits directly above each other. This time it is 6 and 4. We write down the 4 and remember the 2 (it’s a carry). Then we shift the multiplier one space to the left:
74
63
4

This time we have 7 times 6 plus 4 times 3, plus the carry of 2. 42 + 12 + 2 = 56. We write down the 6 and carry the 5:
74
63
64

Now only the 7 and 3 are above each other. That product is 21, plus the carry of 5 is 26. So the product is 2664, because with the next step no digits would be above each other. So we are done. 74 times 36 = 2664.
All of this can be done mentally with only a little practice. It takes a good memory for numbers to hold the whole answer until the end, but that is rarely needed; you can write down the answer from right to left. After all, the answer must appear somewhere, and you can’t use less paper than you would need for the answer!
Now, let’s extend the method to multiplication using base 256 integer arithmetic. Suppose we have two four-digit numbers called abcd and wxyz. The multiplication is done exactly as mentioned previously, except that the digit written down is the result of an integer multiplication modulo 256, and the carry is whatever is left over. On a computer, this is pretty easy; the least significant byte of the integer result is written down in the result, and the other byte or bytes are the carry.
It is possible to multiply extremely large numbers using this method, to practically any number of digits in the result. A multiplication of two n-digit base 256 numbers would take 2n (one byte) integer multiplications and 2n – 1 additions to complete (plus perhaps 2n shift and AND operations to store the digits of the result).

I always look for coincidences - there are always coincidences!!

For example, 74 x 36 I'd probably think either;

this is like 74 x 30 plus 20%. = 2100+120 + 20% = 2220 + 20% = 2220 +222 +222 = 2664

Or I might associate this with 74 x 4 x 9 = 740-74 x 4 = 666 x 4, etc.

Or how about (75 x 36) -36 = 3/4 x 3600 - 36 = 2700 - 36..

The fractional change thing works well for many weird looking calculations to a useful level of accuracy, especially division, for example: how many (imperial) gallons is, e.g., 27 litres. One gallon is 4.54 litres.

So this calculation could go like; 27/ (4.54) [which looks hairy!] to [27/{9/2}] - 1%. So we'd get (27/9) * 2 - 1% = 5.94.

Note that its not quite right. This gives us a conversion assuming 4.5 + 1% = 4.545. So we can make a finer adjustment by a further 0.1% (another 1/10th of what you just worked out for 1%) = 4.545 - 0.0045 = 4.5405 - close enough. If we did that 0.1% adjustment, we'd get 5.946.

Let's say I'd driven 220 miles on 5.946 gallons. mpg? OK, so if I'd done 595 miles on 5.946 gallons, that'd be like 595 miles/5.95 gallons (I mentally note I am now 0.1% pessimistic) = 100 miles to the gallon. I did 220 so let's say I did 600 miles to the gallon, which is ~1% more than 3 times 100 miles to the gallon (but additionally 10% pessimistic from the 220 to 200 mile assumption), so that's like 33.3miles/gallon +1% = 33.6. Now I add in the proportional deductions I made, that's 10% going from 220 to 200, and 0.1% for my 595 to 600 part. 33.6+10%=36.96, then +0.1% = 36.9996 mpg.

Once you are used to doing this kind of 'carry over a ratio adustment', then make all the adjustments at the end of the calculation, these things get real easy. This was exactly the calculation I made this evening as I drove off the pump.... Took me about 10 seconds to get a 6 sf answer from a two part calculation that would ordinarily be two divisions of 3 digit numbers!...

pwsnafu
cmb has bumped the thread, so I'll guess I'll critic.

A TECHNIQUE FOR MENTAL MULTIPLICATION
(ALSO USEFUL FOR COMPUTER ARITHMETIC)

So I set out to find out how to compress the steps I’ve outlined above. The method I came up with is mathematically completely equivalent to the long form of multiplication I mentioned. As a side benefit, it will work in any number base.
I have shown this method to very many people over the past 50 or more years, and no one has ever said “oh, this is just like the XYZ method”. In fact, everyone has told me that my method is unique. I find that very difficult to believe, considering how easy it is. If you have heard of something similar, please let me know. I am ready to hear that my technique is at least 500 years old, if not older.

The technique doesn't have a name per se, but it is listed on Wiki. The technique is nothing more than a clever way to write down
$74 \times 36 = 100 \times (7 \times 3) + 10 \times (4 \times 3 + 7 \times 6) + (4 \times 6)$,
so it doesn't scale nicely as digits increase. This makes it inferior to the Trachtenberg System, which not only uses less multiplications per step, but scales very easily.

At its core, the technique boils down to the log space version of long multiplication.

It is possible to multiply extremely large numbers using this method, to practically any number of digits in the result. A multiplication of two n-digit base 256 numbers would take 2n (one byte) integer multiplications and 2n – 1 additions to complete (plus perhaps 2n shift and AND operations to store the digits of the result).

Firstly, increasing the base does not change complexity. It only hides it. 1005 x 1011 can be thought of as multiplying two 4 digit numbers or multiplying two one-base-1028-digit numbers. The latter trivially consists of only one multiplication. All it does is require a larger look up table.

Secondly, any algorithm equivalent to long multiplication is useless when we are talking about thousands or tens of thousands of digits. Every such algorithm will have n2 complexity, not 2n as you suggest.

Stephen Tashi
I have shown this method to very many people over the past 50 or more years, and no one has ever said “oh, this is just like the XYZ method”.

You should compare it to the Trachtenberg System. (I, myself, haven't studied either method so I don't know if they are similar.)

A TECHNIQUE FOR MENTAL MULTIPLICATION
(ALSO USEFUL FOR COMPUTER ARITHMETIC)

When I was in Grade School, I was taught the standard way of multiplying numbers with more than one digit. I will describe the method only briefly, since it’s probable that everyone reading this will have seen and used it.
The multiplication starts with the rightmost digit of the multiplier, which multiplies the rightmost digit of the multiplicand. The rightmost digit of the answer is written down and the rest is continued as a “carry”. Then the same digit of the multiplier is used to multiply the next digit of the multiplicand. The carry is added, the rightmost digit of the result is written down, and whatever is left over is continued as a carry for the next digit.
When the rightmost digit of the multiplier has been used to multiply every digit of the multiplicand, then the same process is used for the digit next to the left in the multiplier. The results are written underneath the previous ones, except that the results are written down one digit to the left.
At the end, the final result is computed by adding the columns starting at the right and moving to the left. Any carry resulting is applied to each succeeding leftmost column until all sums are complete.
It always seemed to me that this method was not just tedious but a waste of paper. It certainly ought to be possible to compute the correct answer without writing so much down, and without having to repeat simple steps over and over.
So I set out to find out how to compress the steps I’ve outlined above. The method I came up with is mathematically completely equivalent to the long form of multiplication I mentioned. As a side benefit, it will work in any number base.
I have shown this method to very many people over the past 50 or more years, and no one has ever said “oh, this is just like the XYZ method”. In fact, everyone has told me that my method is unique. I find that very difficult to believe, considering how easy it is. If you have heard of something similar, please let me know. I am ready to hear that my technique is at least 500 years old, if not older.
Let’s suppose we are multiplying 74 by 36. By inspection, we can see that the result must end in 4. This is a hint to remind us how to procede. We write down 74 and under it write 36, but with the digits reversed:
74
63

We always multiply only the digits directly above each other. This time it is 6 and 4. We write down the 4 and remember the 2 (it’s a carry). Then we shift the multiplier one space to the left:
74
63
4

This time we have 7 times 6 plus 4 times 3, plus the carry of 2. 42 + 12 + 2 = 56. We write down the 6 and carry the 5:
74
63
64

Now only the 7 and 3 are above each other. That product is 21, plus the carry of 5 is 26. So the product is 2664, because with the next step no digits would be above each other. So we are done. 74 times 36 = 2664.
All of this can be done mentally with only a little practice. It takes a good memory for numbers to hold the whole answer until the end, but that is rarely needed; you can write down the answer from right to left. After all, the answer must appear somewhere, and you can’t use less paper than you would need for the answer!
Now, let’s extend the method to multiplication using base 256 integer arithmetic. Suppose we have two four-digit numbers called abcd and wxyz. The multiplication is done exactly as mentioned previously, except that the digit written down is the result of an integer multiplication modulo 256, and the carry is whatever is left over. On a computer, this is pretty easy; the least significant byte of the integer result is written down in the result, and the other byte or bytes are the carry.
It is possible to multiply extremely large numbers using this method, to practically any number of digits in the result. A multiplication of two n-digit base 256 numbers would take 2n (one byte) integer multiplications and 2n – 1 additions to complete (plus perhaps 2n shift and AND operations to store the digits of the result).

Except for the "write the second number in reverse order" step, I don't see how your method is any different from the regular method.
Can you rewrite your examples with the preformatted CODE tags? I can't see how the numbers align.

As a mental math system, this looks like a rephrasing of the "Vertically and Crossways" (wiki link) Vedic method, which is really very similar to the grade school algorithm. (It just does things in a different order, and saves some time by lumping together the same-magnitude multiplications.)

There are several mental multiplication methods that seem easier to me. Someone already mentioned Trachenberg. You could also do this with base numbers: $74 \cdot 63 = 70\cdot 67 - 28 = 4662$. (See the wiki page or look up Ars Calcula for an explanation.) You could also just use the distributive law: $74 \cdot 63 = 70\cdot 63 + 4 \cdot 63 = 4410 + 252 = 4662$ (this is a bit harder to do mentally). Both of these seem faster / easier than the Vedic method (to me, at least).

As for the algorithmics: I agree with the other poster. This looks like O(n^2) time to me, not O(n).

I always look for coincidences - there are always coincidences!!

For example, 74 x 36 I'd probably think either;

74 x 36 is almost 75 x 36 which is 3/4 of 36, or 27, times the 100 I ignored, so that's 2700. Subtracting off the extra 36 gives 2664. Wouldn't most math-aware people do it that way?