=a(b + c)^2(b - c) + b(c + a)^2(c - a) - c(a + b)^2[(b - c) + (c - a)]
= a(b + c)^2(b - c) + b(c + a)^2(c - a) - c(a + b)^2(b - c) - c(a + b)^2(c - a)
= [a(b + c)^2(b - c) - c(a + b)^2(b - c)]+ [b(c + a)^2(c - a) - c(a + b)^2(c - a)]
= (b - c)[a(b + c)^2 - c(a + b)^2] + (c - a)[b(c + a)^2 - c(a + b)^2]
= (b - c)(ab^2 + ac^2 - ca^2 - cb^2) + (c - a)(bc^2 + ba^2 - ca^2 - cb^2)
= (b - c)[ac(c - a) - b^2(c - a)] + (c - a)[a^2(b - c) - bc(b - c)]
= (b - c)(c - a)(ac - b^2) + (c - a)(b - c)(a^2 - bc)
= (b - c)(c - a)(ac - b^2 + a^2 - bc)
= (b - c)(c - a)[(a^2 - b^2) + (ac - bc)]
= (b - c)(c - a)[(a - b)(a + b) + c(a - b)]
= (b - c)(c - a)(a - b)(a + b + c)
= (a - b)(b - c)(c - a)(a + b + c).