There is a criterion due to J. Sylvester: The number of real roots of a polynomial f(x) equals the signature of its Bezoutiant. In particular a real polynomial has all its roots real and distinct if and only if the Bezoutiant is positive definite. See for example: C. Procesi, Lie Groups, Springer, 2005, page 25.
Look this link; perhaps it could help you somthing.
Although not exactly what you ask, you might be interested in the algorithmic method attached for finding integer roots in polynomials with coefficients in Z (in Spanish):
ALGORITMO DE DESCARTE DE RAÍCES ENTERAS DE POLINOMIOS - Jesús Álvarez Lobo. RG.