# Mental multiplication of two digit numbers

There is a common way of mentally doing squares of two-digit numbers all the way up to 19*. This is how it works (example is for calculating $13^2 = 13*13 = xyz$):

1. The ones digit is the ones digit of the two numbers (3 for both) multiplied -> $13^2 =xy9$

2. The tens digit is the ones digit added together (3+3 for the example) -> $13^2 = x69$

3. The hundreds digit is the tens digit multiplied (1*1) -> $13^2 = 169$

Now, there can be some confusion with carrying over. So, I am doing another example of $15^2 = 15*15=xyz$:

1. $z = 5*5 = 25$ but the z can only be one digit long so it is added to the calculated y (just like how we do in regular multiplication). So $z=5$

2. $y = 5+5 = 10+2 = 12$ (the 2 comes from the previous step). Again, y can only be one digit long so the 1 is carried over and $y=2$.

3. $x=1*1=1+1 = 2$.

$15^2 = 15*15 = xyz = 225$

So, I thought, why don't I use this method to also do multiplication of all two digit numbers. I tried with numbers less than 20 and it worked. Here is another worked example of $13*15 = xyz$

1. $z = 3*5 = 15$ but the 1 is carried over so $z=5$

2. $y = 3+5 = 8+1 = 9$

3. $x=1*1 = 1$

$15*13 = xyz = 195$

Now, I then tried with one number less than 20 and one in between 20 and 30. Here's a worked example (I am probably overwhelming you guys with examples but this example is important!) of $25*13 = xyz$:

1. $z=5*3 = 15$ but the 1 is carried over so $z=5$

2. $y=5+3 = 8+1 = 9$

3. $x = 2*1 = 2$

So, $25*13 = xyz = 295$. But, the actual result is 325! It is off by 30. What is going on? After doing this several times, I noticed that my calculation is always off by 10 times the ones digit of the less than 20 number. So, you need to add that amount to the result. So, since the ones digit of the less than 20 number is 3, you multiply by 10, which gives you 30 and add to the result, which was 295. This gives you the correct answer of 325.

I tried to use this method with one number less than 40 but greater than 30 and another one less than 30 and greater than 20 (for example, doing $35*21$) and it did not work. I could not figure out by what factor it was off.

Then I tried with one number less than 40 but greater than 30 one less than 20 and greater than 10 and the result was off by 20 times the ones digit of the number less than 30 and greater than 20. For example, for $35*14$, I get 410. but the actual result is $410+(20*4)=490$ which is the correct answer.

Therefore, I have created a formula for multiplying $ab*1d$

1. $z=b*d$

2. $y=b+d$

3. $x=a*1=a$

4. $ab*1d=xyz+(d*10*(a-1))$

Question

So my main question is why does this method work and how? Why do I need to add the factor of $(d*10*(a-1))$? How can I extend this method for it to work for all two-digit numbers?

*I actually independently discovered this method (although obviously not being the first to do so) in bed when trying to find all numbers that are decimal concatenation of squares

• Often a faster way for computing squares mentally is to use $(x+y)^2=x^2+2xy+y^2$. – symplectomorphic Jan 5 '16 at 0:22

Everything you wrote comes from the identity $$(10 a + b)(10 c + d) = 100 ac + 10 (bc + ad) + bd .$$

If $a=c=1$, which is the same as asking that both factors have two digits and do not exceed 20, we have many semplifications:

$$(10 + b)(10 + d) = 100 + 10 (b+d) + bd.$$

Therefore we have $x=1, y=b+d$ and $z=bd$, as you said (remembering to carry over if necessary).

If $c=1$, which is the case $ab \cdot 1d$ in your notation, we have

$$(10 a + b)(10 +d) = 100a + 10 (b + ad) +bd.$$

$$y = b+d + d(a-1)$$
(since this is the meaning of adding $10 \cdot d(a-1)$), and this actually turns out to be $b + ad$, as required.