How to know that $a^3+b^3 = (a+b)(a^2-ab+b^2)$ Is there a way of go from $a^3+b^3$ to $(a+b)(a^2-ab+b^2)$ other than know the property by heart?

There is a 'trick' for odd powered exponents as follows;
recall the identity
$ (x-y)(x^{n-1}+x^{n-2}y+...+xy^{n-2}+y^{n-1}) = x^n - y^n $ (*)
Now, there is a real number, a, such that y = (-a) [really this real number is -y but it is not important for the purposes of searching for a possible factorization].
For n even: 
$y^n = (-a)^n = a^n$
but for odd n:
$y^n = (-a)^n = -a^n$
If we substitute -a for y in (*) we obtain (we assume n is odd)
$ x^n - y^n = x^n - (-a^n) = x^n + a^n = (x+a)(x^{n-1}-x^{n-2}a+...-xa^{n-2}+a^{n-1}) $
where we alternate + and - within the last bracket due to the parity of n-i.
When n = 3
$(x-y)(x^2+xy+y^2) = x^3-y^3$
which means
$x^3+y^3 = (x+y)(x^2-xy+y^2)$
