- #1

Bruce Tonkin

- 2

- 0

(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).