Suppose you are asked to factor #f(x) = ax^3+bx^2+cx+d# for some integers #a#, #b#, #c# and #d#.
If #a#, #b#, #c# and #d# are all divisible by some integer #k > 1#, then separate that out as a factor before getting into serious factoring:
Let #a' = a/k#, #b' = b/k#, #c' = c/k#, #d' = d/k#, then
#f(x) = k*(a'x^3+b'x^2+c'x+d')#,
where #a', b', c', d'# are integers.
So we can reduce the problem to factoring with no common scalar factor.
Case 1:
If #a+b+c+d = 0# then #f(1) = 0#
and #(x-1)# is a factor of #f(x)#.
#ax^3+bx^2+cx+d#
#= (x-1)(ax^2 + (a+b)x + (a+b+c))#
I'll leave any further factoring of the quadratic factor to you.
Case 2:
If #a - b + c - d = 0# then #f(-1) = 0#
and #(x+1)# is a factor of #f(x)#.
#ax^3+bx^2+cx+d#
#= (x+1)(ax^2-(a-b)x+(a-b+c))#
Case 3:
If #a:b# is the same ratio as #c:d# then #f(x)# factors by grouping:
#ax^3+bx^2+cx+d#
#=(ax^3+bx^2)+(cx+d)#
#=x^2(ax+b)+c/a(ax+b)#
#=(x^2+c/a)(ax+b)#
If #c/a <= 0# then this factors further as
#=(x-sqrt(-c/a))(x+sqrt(-c/a))(ax+b)#
Case 4:
If #f(x)=0# has rational roots then (by the rational roots theorem) they are all of the form #p/q# in lowest terms such that #p# is a divisor of #d# and #q# is a divisor of #a#. this gives a finite number of possible values to try.
For example, if #f(x) = 2x^3-11x^2+17x-6#, then the possible roots of #f(x) = 0# to try are #+-1/2#, #+-1#, #+-3/2#, #+-2#, #+-3#, #+-6#
If you find one root, then it yields a linear factor, which you can divide #f(x)# by to leave a simpler polynomial to factor.
Case 5:
If #f(x)=0# has no rational roots, first, divide #f(x)# through by #a# to yield a cubic of the form #x^3+a'x^2+b'x+c'#, then substitute #x' = x+(a')/3# to get a cubic of the form #x'^3+Ax'+B#. Then apply Cardano's Method. This will yield an expression for a real root of #f(x)=0# involving cube and square roots. It's all a bit messy, but it will give you a linear factor of #f(x)# with real coefficients.