I am not quite sure whether this is at all what you want, but perhaps it is useful. As you are saying that a,b,c,d are known, I actually use specific numbers.

a-> 5, b-> 3, c-> 1, d-> 6

Now I can use Reduce to find general solutions to the Diophantine equation:

sols = Reduce[5*x + 3*y + 1*z == 6, {x, y, z}, Integers]

This gives

(C[1] | C[2]) \[Element] Integers && x == C[1] && y == C[2] &&

z == 6 - 5 C[1] - 3 C[2]

That means that I can choose x and y as I like and then calculate z. Of course, you can now generate as many integer triples as you want:

Table[{sols} /. {C[1] -> RandomInteger[{-100, 100}],

C[2] -> RandomInteger[{-100, 100}]}, {i, 1, 10}]

This gives ten triples such as

{{x == -78 && y == -89 && z == 663},

{x == 5 && y == 74 && z == -241},

{x == 53 && y == -52 && z == -103},

{x == -60 && y == 34 && z == 204},

{x == 70 && y == 44 && z == -476},

{x == 98 && y == -37 && z == -373},

{x == -33 && y == 71 && z == -42},

{x == -37 && y == -5 && z == 206},

{x == 56 && y == 5 &&z == -289},

{x == 35 && y == 10 && z == -199}}

They are all integers as required. This does not appear to work if the parameters are not further specified, but rather left as a,b,c,d in the equation.

M.