On points with same $x$-co-ordinate on certain cubic curve

54 Views Asked by At

Consider the cubic curve $y=x^3+ax^2y+bxy^2+cy^3$. If $(t,r)$ and $(t,s)$ are two distinct points on the curve, then is it necessarily true that $t=0$ ?

1

There are 1 best solutions below

0
On

In general, the answer is negative. This curve takes on a wide range of behaviors, as shown in the figures below.

Even without the visuals, we know that given an $x$, the resulting cubic equation in $y$ can "easily" have 3 real roots.

There is indeed a region in the parametric space of $\{ a,b,c\}$ that $x = 0$ is the only place a vertical line intersects with the curve at more than one place. I'm not going to cover that.

enter image description here

Consider a specific case with easy numbers. Take $\{ a,b,c \} = \{ -3, 2, 1\}$ as in the rightmost plot. At $x = 1$, the cubic equation in $y$ is trivial to solve. \begin{align*} y = 1 - 3y + 2y^2 + y^3 &\implies 0 = (1 - 2y + y^2) + (-2y + y^2 + y^3) \\ &\implies y(y+2)(y-1) + (y-1)^2 = 0\\ &\implies (y-1)(y^2 + 3y - 1) = 0 \end{align*} The roots are $y = 1$ and $\displaystyle y = \frac{-3 \pm \sqrt{13}}2$.

If you have Mathmatica® then below is the block code of the Manipulate module I wrote to generate the plots above.

With[{Mn = 0.01, Mx = 10, SpL = Spacer@15, SpS = Spacer@3, Fz = FieldSize -> 2.5}, DynamicModule[{Thik = 1/70, ImgSz = 150, asp = 1 },  SetOptions[Manipulator, Appearance -> "Open", AnimationRate -> 1/100 , ImageSize -> Small, AppearanceElements -> {"InputField", "PlayPauseButton", "StepLeftButton", "StepRightButton"}];
Manipulate[ ContourPlot[ y == x^3 + a x^2 y + b x y^2 + c y^3, {x, -Rng, Rng}, {y, -Rng, Rng}, ContourStyle -> Thickness@Thik, GridLines -> Automatic, ImageSize -> Dynamic@ImgSz, AspectRatio -> Dynamic@asp] , Row@{"ImgSz", SpS, InputField[Dynamic@ImgSz, Fz], SpL, "asp", SpS, InputField[Dynamic@asp, Fz], SpL, "Thik", SpS, InputField[Dynamic@Thik, Fz]}, {{a, 0.23}, -Mx, Mx, Mn}, {{b, 1.89}, -Mx, Mx, Mn}, {{c, 3.58}, -Mx, Mx, Mn}, {{Rng, 3}, Mn, Mx, Mn}, ControlPlacement -> Left, TrackedSymbols :> {a, b, c, Rng, Thik}]  ]  ]