How to explain what is wrong in this? My friend showed this to me and I instantly know that this is wrong. However, I cannot explain why this is wrong to my friend.

Question. Prove $\displaystyle \frac{100-100}{100-100} = 2.$
Answer.
  $$\begin{align*}
\frac{100-100}{100-100} &= \frac{(10)^2 - (10)^2}{10(10-10)}\\
&= \frac{(10+10)(10-10)}{10(10-10)}\\
&= \frac{20}{10} = 2.
\end{align*}$$

My argument is that in the third step, where it goes like this: 
$$\frac{(10+10)(10-10)}{10(10-10)}$$
you cannot just cancel out the $(10-10)$ - it doesn't seem right. However, I am at a loss of explaining why exactly you cannot do that and my friend has the argumentative power (is that even a word? I mean he is good with arguments, even if they are not facts) and he has me confused to the point that I am starting to think it can be done.
Can anyone please explain why this is wrong?
Thanks.
 A: Another way to see it is to recast the argument as follows:
$\begin{align*}
&100-100=100-100\\
&(10+10)(10-10)=10(10-10)\\
&20=10
\end{align*}$
You can check that the first two lines are correct, while the third is not.  The reason is we divided by $10-10=0$ between them.
A: Notice that $3\cdot0=5\cdot0$.
So, dividing both sides by $0$, we conclude that $3=5$.
Same thing.
A: You can't divide by $0$; $\frac{100-100}{100-100}$ is not defined, precisely because of that kind of paradoxes.
A: you can't cancel zero.... buddy...
$(10+10)(10-10) = 10(10-10)$
as $10-10 = 0$
you can't just cancel it...
it is like doing:
$7 \times 0 = 8 \times 0$
cancel zero on both sides and we get:
$7 = 8$
which is incorrect...
A: There is no such thing as a "cancel" operation. This is, rather, shorthand for factoring out $1$, and simplifying. In other words, suppose you have
$$\frac{x^3+x}{x^2+1}$$
You could factor out 
$$\frac{x^2+1}{x^2+1}$$
to yield
$$\frac{x(x^2+1)}{x^2+1}$$
However, since, everywhere
$$\frac{x^2+1}{x^2+1}=1$$
You simply replace the former with the latter, to yield
$$x.$$
At a fundamental level, where your proof goes wrong is that it skips over this subtlety and uses the "shortcut" of canceling without respect for the conditions under which that shortcut is valid.
In the end, what it comes down to is that
$$\frac{(10-10)}{(10-10)}=\frac{0}{0}\ne1,$$
which is the condition you need in order to make that cancellation.
A: It's a special case of the fact that if $0$ is invertible or cancellable then all elements are equal, viz.
$$\rm x\cdot 0\ =\ y\cdot 0\ \ \Rightarrow\ \ x\ =\ y\quad by \ cancelling\:\ 0 $$
Clearing denominators in your proof, we see it is $\rm\ z\to 10\ $ in the following special case of above 
$$\rm (z + z)\:(z-z)\ =\ z\ (z - z) \ \Rightarrow\ \ z+z\ =\ z\quad by \ cancelling\:\ z-z $$
Occasionally sneaky algebraists exploit similar proofs that conclude by deducing that $\:1 = 0\:$ in a ring $\rm\:R\:,\:$ or $\rm\:R = \{0\}$ (so all elements are equal!) e.g. see this question. But as you can see from the many confused comments there and here, it's better pedagogically to avoid such esoteric inferences.
