How to tell if a cubic curve in the projective plane is irreducible Let $\mathcal{C}$ be a cubic curve in the complex projective plane given in terms of its defining equation. How can I systematically tell if $\mathcal{C}$ is irreducible? By “systematically” I mean “without being clever”, e.g. without eyeballing the polynomial and finding a factorization this way. However, the solution does not necessarily have to be algorithmic.
Some facts (please correct me if I’m wrong):


*

*$\mathcal{C}$ is non-singular $\Rightarrow \mathcal{C}$ is irreducible

*$\mathcal{C}$ has a ordinary double point (a “node”) $\Rightarrow \mathcal{C}$ is irreducible

*$\mathcal{C}$ has a triple point $\Rightarrow \mathcal{C}$ is reducible

*$\mathcal{C}$ has more than one singular point $\Rightarrow \mathcal{C}$ is reducible


But what if $\mathcal{C}$ has a non-ordinary double point? And are there other ways of telling if a curve is irreducible than considering its singularities?
 A: As N.H. pointed out in his comment, $C$ is reducible if and only if there is a projective line $L$ which is completely contained in $C$, this follows from the complete classification of ternary cubics, see e.g. page 56 in this script by Victoria Hoskins.
Let $f\in\Bbb C[x_0,x_1,x_2]$ be the defining equation of $C$.
I propose the following method to check if $C$ is reducible: 


*

*Pick three lines $L_1$,$L_2$,$L_3$ which do not have a common point of intersection. Compute the sets $X_i:=L_i\cap C$.

You can compute the intersection of a line $L=\{ a+bt \mid t\in\Bbb C \}$ with $C$ by computing the zeros of the univariate degree $3$ polynomial
  $$
f_L(T) := f(a_0+Tb_0,a_1+Tb_1,a_2+Tb_2)\in\Bbb C[T].
$$
  For any zero $t$ of $f_L$, the point $a+tb$ is a point in $L\cap C$. You have $L\cap C= L$ if and only if $f_L=0$, otherwise the set $L\cap C$ contains at most three points.


*If $X_i = L_i$ for any $i$, you are done: $C$ is reducible. 

*Otherwise, the sets $X_i$ contain at most three points. For all pairs $(p_1,p_2)\in X_1\times (X_2\cup X_3)$ with $p_1\ne p_2$, let $L$ be the line through $p_1$ and $p_2$. Check if $L\cap C=L$. If this never happens, then $C$ must be irreducible and otherwise it is not. Indeed:


If $C$ is reducible, it contains a line $L$. We have $L\cap L_i=\{ p_i \}$ because any two projective lines intersect. If $p_1\ne p_2$, then $L$ is the line through $p_1\in X_1$ and $p_2\in X_2$. Otherwise if $p_1=p_2$, we have $p_3\ne p_1$ because the $L_i$ do not commonly intersect. In this case, $L$ is the line through $p_1\in X_1$ and $p_3\in X_3$.

In practice, I would probably always pick
\begin{align*}
L_1 &= [1:\Bbb C:0] &
L_2 &= [1:0:\Bbb C] &
L_3 &= [0:1:\Bbb C] \\
f_{L_1} &= f(1,T,0) &
f_{L_2} &= f(1,0,T) &
f_{L_3} &= f(0,1,T)
\end{align*}
A: Jesko has linked these lecture notes, which contain a complete classification of plane cubics on page 56. According to this classification, a non-ordinary double point on an irreducible cubic is a cusp and a non-ordinary double point on a reducible cubic is a point where a line and a conic meet tangentially. So, if I find a non-ordinary double point on a cubic and compute its tangent line, then I can tell that the cubic is reducible if it contains the tangent line and irreducible otherwise. This completes the list in the question.
A short example: $\mathcal{C}_1 : x^2z - y^3 = 0$ and $\mathcal{C}_2 : x^3 - 2x^2z + xy^2 = 0$ both have the non-ordinary double point $P = [0, 0, 1]$ with the corresponding tangent line $x = 0$. On $\mathcal{C}_1$, $P$ is a cusp (the tangent line and $\mathcal{C}_1$ have a triple intersection in $P$), while $\mathcal{C}_2$ contains the tangent line because $x^3 - 2x^2z + xy^2 = x(x^2 - 2xz + y^2)$.
