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.