任意の整数値xに対して、3次関数f(x)=ax^3+bx^2+cx+dが整数値となるための必要十分条件を求めよ。

という問題なのですが、それぞれの項を階乗関数などにして開くところまではわかったのですが、
いまいち「ax^3もbx^2も整数ではないが、その和は整数」という場合はどう超えればいいのかわかりません。
どなたか、略解を教えてください。