Estoy intentando codificar un algoritmo que no utilice la fórmula cúbica para determinar una función cúbica $(ax^{3} + bx^{2} + cx + d)$ raíces. Me encontré con un algoritmo ( https://rosettacode.org/wiki/Roots_of_a_function#Java ), donde se indica el intervalo en el que pueden estar las raíces. A partir de ahí, el algoritmo busca entre ese rango. (Si alguien conoce el nombre de este algoritmo, también será de gran ayuda).
Sin embargo, me gustaría mejorar esto de alguna manera mediante el cálculo de un rango adecuado para el algoritmo para buscar dentro de lo que esto no depende de la entrada y por lo que muchos coeficientes diferentes se pueden introducir y un rango efectivo puede ser elegido. ¿Hay alguna forma de hacer esto razonablemente rápido, mirando los coeficientes y no resolviéndolo realmente? No busco que escriban el programa por mí, sólo que me indiquen una forma de hacerlo. Gracias :D