La existencia de puntos estacionarios $a_1$ y $a_2$ y el signo de $f(a_1)f(a_2)$ debería decirte para un intervalo arbitrario. (Con el hecho añadido de que f es una función continua cúbica, por supuesto). Propondré un teorema (que no estoy seguro de si existe un nombre para él o no).
$$\text{Let} \quad f: \mathbb{R} \mapsto \mathbb{R} \quad \text{be a cubic polynomial and let} \quad a_1, a_2 \quad \text{be stationary points (if they exist)}. \\ \text{Then} \quad f \quad \text{has} \\ \text{one zero if} \quad f \quad \text{has no stationary points or has two stationary points such that} \quad f(a_1)f(a_2) > 0 \\ \text{two repeated zeroes and one other zero if} \quad f \quad \text{has two stationary points such that} \quad f(a_1)f(a_2) = 0 \\ \text{three DISTINCT roots if} \quad f \quad \text{has two stationary points such that} \quad f(a_1)f(a_2) < 0$$