Question: Solve equation with integer solutions

At here http://www.mapleprimes.com/questions/146604-How-To-Choose-The-Parameters-To-The, I posted my question and I got the answer. Now I have a new question, is there a program that can be solved for many equation with integers solutions. For example, the equation has the form sqrt(a x + b) = c x + d, sqrt(a x + b) - sqrt(c x + d) = k,...

With Mathematica, my code that solve the equation a x + b == Sqrt[c x + d]

ClearAll[a, b, c, d];
sol = x /. Solve[{a x + b == Sqrt[c x + d]} , x, Reals];
ClearAll[f];
(f[{a_, b_, c_, d_}] :=
Quiet@Check[And @@ (IntegerQ /@ #), False]) &[sol]
poss = Select[
Tuples[Range[1,
20], {4}], #[[1]] =!= 0 && #[[2]]^2 - #[[4]] =!= 0 &&
GCD[#[[1]], #[[3]], #[[2]], #[[4]]] == 1 && f[#] &];
Take[poss, Length[poss]];
With[{s = sol},
getSolution[poss_] := Block[{a, b, c, d}, {a, b, c, d} = poss;
Join[poss, s]]]
getSolution /@ poss

 

When I repair  a x + b == Sqrt[c x + d] into Sqrt[a x + b] + Sqrt[c x + d] == k, then I have a new propram, or if I replace into Sqrt[a x + b] - Sqrt[c x + d] == k, I  have also a new program. How can I do like that with Maple?

 

Please Wait...