Square three digit numbers, the efficient way I would like to square a three digit number in my head.
Now I know that the formula is

$$ ( X + r )  ( X - r ) + r^2 = X^2 - rX + rX - r^2 + r^2 = X^2
$$
Where $\,r\,$ is a number such that $\,X + r\,$ is divisible by $10$ and/or $100$

Now the problem is that, I would like to first figure out whether finding the $r$ such that the $3$ digit number is divisible by $100$ or $10$ would be more efficient.

If I choose $r &lt; 10$ then the $\,( X + r )  ( X - r )\,$ becomes quite unpleasant. If I choose $r &lt; 100$ then the $r$ itself will have to be broken into pieces such that

$\begin{array}\\
( X + r ) ( X - r ) + [ ( r + j )  ( r - j ) + j^2 ] 
&amp;=   ( X + r )  ( X - r ) + ( r^2 - jr + jr - j^2 + j^2 )\\
&amp;=( X + r ) ( X - r ) + r^2\\
&amp;= X^2 - rX + rX - r^2 + r^2\\
&amp; = X^2\\
\end{array}
$

This kind of yields recursive solution where any number squared works. The job is much more easier, but the person has to memorize more numbers while continuing to do more math.

So which method would you recomend? Or if you would have some other method I would love to hear it.

If you choose recursive method how do you memorize numbers in an efficient way without having numbers collide in your brain?

Thanks to anyone for their response, and sorry if tags are off, I am unsure which tag fits my question.
Many mental calculations are easier the more facts you memorize.  Knowing the squares up to $31^2=961$ can make it easier, reducing the need to go all the way to single digits.  Also the fact that $(10n+5)^2=100n(n+1)+25$, for example $65^2=(6\cdot7)25=4225$.  If you break it all the way to individual digits, I find it easier to keep track of my place if I start with the most significant digits and add as I go, so $359^2=300^2+2\cdot300\cdot50+\ldots =90000+30000+\ldots$
$=120000+ 50^2+\ldots = 122500+2\cdot300\cdot9+\ldots=127900+2\cdot50\cdot9+9^2$ where for many purposes you can quit early when you have the precision needed.
to square a 3 digit number: example 237^2

your 37 (the number in the tens and ones position) becomes: a

your 237 (the entire number) becomes: b

your 2 (the digit in the hundreds position) in 237 becomes: x

your 3 (the digit in the tens position) in 237 becomes: y

and your 7 (the digit in the ones position) in 237 becomes: z

The equation to square a 3 digit number is :

(100x)^2 + 200xa + (10y)^2 + 20yz + z^2 = b^2

(100*2)^2 + 200*2*37 + (10*3)^2 + 20*3*7 + 7^2 = 237^2

40 000 + 14 800 + 900 + 420 + 49 = 56 169