If a2−4b=c2−4d, then a2≡c2(mod4), so a and c have the same parity. So if we take any integer x and then y to be the integer x−2a−c we have x−2a=y−2c and hence (x−2a)2−4a2−4b=(y−2c)2−4c2−4d⟺x2+ax+b=y2+cy+d. Thus the equation has infinitely many integer solutions.
Conversely, suppose k=(a2−4b)−(c2−4d)=0, then we have (2x−a)2−(2y−c)2=k, so (2x+2y−a−c)(2x−2y−a+c)=k. But k has only finitely many factorizations, so there are only finitely many possible values for the pair (2x+2y−a−c,2x−2y−a+c) and hence for the pair (x,y).