By Clive Newstead on 14th December 2010
I recently discovered a way of multiplying numbers together that I wish I knew when I was a kid. It's illustrated quite nicely in this video:
It's pretty cool, and what's even better is that it works! It even works in number bases other than base 10 (in fact, it works in every base), which makes it all the more amazing. But it's not obvious at all why it works... which is why I'm going to show you.
Suppose you have the number 1462. Writing '1462' is shorthand for writing 1×1000 + 4×100 + 6×10 + 2×1 (that is, "one thousand, four hundreds, six tens, and two ones"). In general, if $a_0, a_1, a_2$, and so on, up to $a_n$ are digits between 0 and 9, then the number $a_n \cdots a_2 a_1 a_0$ is just shorthand for $a_0 + a_1 \times 10 + a_2 \times 100 + \cdots + a_n \times 10^n$. This representation is essentially the basis of why this works. Notice also that there's nothing special about 10. In fact, if we'd chosen to use 8 or 12 or 20 or 512, it wouldn't make any difference. For now, though, let's stick to base 10.
Say we want to multiply 1462 and 412. Then we draw four lots of vertical (green) lines, with groups of 1, 4, 6 and 2, respectively, and three lots of horizontal (blue) lines, with groups of 4, 1 and 2, respectively. Then, we separate the diagonals with more lines (grey) and, in each separated section, we add up the total number of points where the horizontal and vertical lines cross. This is illustrated in the following diagram.

Since there are 6 of these numbers, the first must represent the number of $10^5$, i.e. hundred-thousands. Notice that there are, for example, 14 tens. In this case, we carry the 1 across to the hundreds, and so on. So we have:
4 units
14 tens (call it 4 and carry the 1)
22+1=23 hundreds (call it 3 and carry the 2)
30+2=32 thousands (call it 2 and carry the 3)
17+3=20 ten-thousands (call it 0 and carry the 2)
4+2=6 hundred-thosuands
And so we have $1462 \times 412 = 602344$
A quick check on the calculator reveals that this is correct! Now we investigate why.
Going back to our general numbers, suppose we're given two numbers, $A$ and $B$, and that
\[A = a_n \cdots a_2 a_1 a_0\]
\[B = b_m \cdots b_2 b_1 b_0\]
That is, $A$ has $n+1$ digits and $B$ has $m+1$ digits (+1 because we're counting from zero, not one!) Then we can write a new expression for $A \times b$ using the rule about the powers of 10 as above; we get: \[A \times B = (a_0 + a_1 \times 10 + \cdots + a_n \times 10^n) \times (b_0 + b_1 \times 10 + \cdots + b_m \times 10^m)\]
To make our lives easier, we can suppose that $m \le n$ and, if $m < n$, we can let $b_{m+1}=b_{m+2}=\cdots=b_n=0$. Then we end up multiplying \[A \times B = (a_0 + a_1 \times 10 + \cdots + a_n \times 10^n) \times (b_0 + b_1 \times 10 + \cdots + b_n \times 10^n)\] which gives us exactly the same answer, since when you add on zero lots of anything to a number, it doesn't change. All we've done here is fill out the shorter number with zeros so that they're the same size; so in our previous example, we'd be looking at 1462×0412.
If you're not familiar with multiplying out brackets, you might get a bit lost from here. [Although if you're not familiar with multiplying out brackets, you're probably not reading this.]
When we multiply out the brackets, we see that the number multiplying $10^k$ is given by: \[a_0 b_k + a_1 b_{k-1} + \cdots + a_{k-1} b_1 + a_k b_0 \] Notice that the subscripts always add up to $k$; so for example the number multiplying 1000 ($=10^3$) will be \[a_0b_3 + a_1b_2 + a_2b_1 + a_3b_0\] What does this tell us? Well, $a_ib_j$ is the number of times that $a_i$ vertical lines intersect $b_j$ horizontal lines. Looking back at our grid, this means it's the number of intersections in the $i$th column and $j$th row (starting from the bottom-right, and counting from zero, just to confuse you!)
When we add up these particular values of $a_ib_j$, we're adding up along a diagonal, where the sum of the row number and column number is equal to the power of 10 that we're looking at.
And that's it! Looking back to our 1462×412 example, this makes sense. To get our power of 100 ($=10^2$), we take the 4 hundreds from the first number and 2 units from the second number (giving us 8 hundreds), the 6 tens and 1 ten (giving us 6 hundreds) and the 2 units and 4 hundreds (giving us 8 hundreds) to give us a total of 8+6+8=22 hundreds, just as in the diagram!
If you have any comments, corrections or queries, feel free to send me an email.