Dear Uncle Colin,

How do you multiply big numbers like $2158 \times 1812$? I try to do it using the column method or the grid, but I always make mistakes.

-- A Desperately Desired Error Reduction

Hi, ADDER, and thanks for your message!

I’ve been playing with something midway between the grid and the column recently, as it happens. I’ll show you it with 56 × 84 first, and then go on to do your example.

Here’s the working:

\[5\]   \[6\] \[8\] 4:0 + 4:8 \[4\]       2:0 + 2:4

As you can see, each digit in one number is multiplied by each digit in the other, but split across a colon. The second row is offset by one column (and each following row would be offset by one more).

All that’s left to do is to add up each column - everything between the colons - to get 4:6:10:4. 10 isn’t a digit, so you carry the 1 onto the 6 to get 4704, which is the correct answer.

Your example would look like this:

\[2\]   \[1\]   \[5\]   \[8\] \[1\] 0:2 + 0:1 + 0:5 + 0:8 \[8\]       1:6 + 0:8 + 4:0 + 6:4 \[1\]             0:2 + 0:1 + 0:5 + 0:8 \[2\]                   0:4 + 0:2 + 1:0 + 1:6

Adding the columns gives 3:7:19:19:12:9:6. This needs a bit of care with the carries, so I’d do it one carry at a time from the right, giving 3:7:19:20:2:9:6, then 3:7:21:0:2:9:6 and finally 3:9:1:0:2:9:6; the correct answer is 3,910,296.

This requires a few fewer steps than the traditional column method, and a lot less writing out zeros than the grid method. It’s roughly equivalent to the Napier’s Bones method, which is a nightmare to typeset.

Hope that helps!

-- Uncle Colin