why changing the order of the parameters gives different reults ?
sage: x,y = var('x y')
sage: LCM([x^2 - y^2, x^2 + 2*x*y + y^2, x^3 + y^3])
(x^3 + y^3)*(x^2 + 2*x*y + y^2)*(x^2 - y^2)/(x + y)^2
sage: LCM([x^2 - y^2, x^3 + y^3, x^2 + 2*x*y + y^2])
(x^3 + y^3)*(x^2 + 2*x*y + y^2)*(x^2 - y^2)/(x + y)^3