Prove that $a^n-b^n = (a-b)(a^{n-1} + a^{n-2}b + \cdots + b^{n-1})$.
For $n\geq1$, \begin{align} (a-b)\sum_{i=0}^{n-1}a^ib^{n-1-i}&=\sum_{i=0}^{n-1}a^{i+1}b^{n-1-i}-\sum_{i=0}^{n-1}a^ib^{n-i}\\ &=\sum_{i=0}^{n-1}(a^{i+1}b^{n-(i+1)}-a^ib^{n-i})\\ &=a^n-b^n&&(\text{telescoping sum}) \end{align}
The result is essentially the fact that $1+x+ \cdots + x^{n-1} = {1-x^n \over 1-x}$ (for $x \neq 1$), or equivalently that $(1-x)(1+x+ \cdots + x^{n-1}) = 1 -x ^n$ for any $x$.
If $a=b$, or $a=0$ then the result is true.
Suppose $a \neq 0$ and $a \neq b$. Then letting $x={b \over a}$ in the above and multiplying the result by $a^n$ yields the desired result.
To see the above result, note that $(1-x) (1+x+ \cdots + x^{n-1}) = (1+x+ \cdots + x^{n-1})-(x+x^2+ \cdots + x^{n}) = 1- x^n$.
$a^n - b^n =$
$= a^{n}b^{0} + (a^{n-1}b^{1} + a^{n-2}b^{2} + \cdots + a^{2}b^{n-2} + a^{1}b^{n-1}) \\ \space\space\space - a^{0}b^{n} - (a^{n-1}b^{1} + a^{n-2}b^{2} + \cdots + a^{2}b^{n-2} + a^{1}b^{n-1}) = $
$= (a^{n}b^{0} + a^{n-1}b^{1} + a^{n-2}b^{2} + \cdots + a^{2}b^{n-2} + a^{1}b^{n-1}) \\ \space\space\space - (a^{n-1}b^{1} + a^{n-2}b^{2} + \cdots + a^{2}b^{n-2} + a^{1}b^{n-1} + a^{0}b^{n}) = $
$= a(a^{n-1}b^{0} + a^{n-2}b^{1} + \cdots + a^{1}b^{n-2} + a^{0}b^{n-1}) \\ \space\space\space - b(a^{n-1}b^{0} + a^{n-2}b^{1} + \cdots + a^{1}b^{n-2} + a^{0}b^{n-1}) = $
$= (a - b)(a^{n-1}b^{0} + a^{n-2}b^{1} + \cdots + a^{1}b^{n-2} + a^{0}b^{n-1})= $
$= (a - b)(a^{n-1} + a^{n-2}b + \cdots + ab^{n-2} + b^{n-1})$