`a^3(c-b)+b^3(a-c)+c^3(b-a)`
`=b^3(a-c)+a^3c-a^3b +bc^3-ac^3`
`=b^3(a-c)+ac(a^2-c^2)-b(a^3-c^3)`
`=b^3(a-c)+ac(a-c)(a+c)-b(a-c)(a^2+ac+c^2)`
`=(a-c)(b^3+ac(a+c)-b(a^2+ac+c^2))`
`=(a-c)(b^3+a^2c+c^2a -ba^2-abc-bc^2)`
`=(a-c)((b-c)a^2-(b-c)ab+(b-c)ab+(b-c)c^2)`
`=(a-c)(b-c)(ac-ac-a^2-ab+ab+c^2)`
`=(a-c)(b-c)((a+b+c)b-(a+b+c)a)`
`=(a-c)(b-c)(b-a)(a+b+c)`
`=(c-a)(b-c)(a-b)(a+b+c)`