Integer Solutions to a^2 - b^2 = k for a Given Integer k
Date: 05/07/2005 at 03:35:52 From: Davin Subject: Find integers a and b such that a^2 - b^2 = k, for a known k I'm trying to find a way, given a (potentially very large) integer k, to determine two integers such that the difference of the squares is equal to k. For instance, if k = 21, then an answer would be a = 5 and b = 2 since 5^2 - 2^2 = 21. Firstly, it's clear that a must be >= sqrt(k). Secondly, an alternative way of stating the problem is this: find an integer b such that k + b^2 is a perfect square. I believe that there will only be one possible a, b for a particular k (excluding negative values and zero), and that some values of k will have no answer for a and b.
Date: 05/07/2005 at 16:02:30 From: Doctor Vogler Subject: Re: Find integers a and b such that a^2 - b^2 = k, for a known k Hi Davin, Thanks for writing to Dr. Math. You can also write your equation as (a + b)(a - b) = k. Then a + b has to be one (integer) factor of k, and a - b is the corresponding factor. That is, if a + b = f is a factor of k, and a - b = g = k/f is the corresponding factor, then a = (f + g)/2 b = (f - g)/2. In other words, finding a and b is essentially equivalent to factoring k. So if you want to find ALL integer solutions, then you must factor k. Of course, this might be difficult if k is terribly large, but there is no way around it, since finding all integer solutions really does factor k. (In other words, if you could do it in some other way, then you would have found a new way to factor k.) For some good methods for factoring large numbers, see Factoring Algorithms http://mathforum.org/library/drmath/view/65455.html Now, there is one other issue, which is that f and g have to have the same parity; that is, they must either both be even or both be odd, so that a and b will be integers. Therefore, if k is divisible by 2 but not by 4, then there are no solutions, because one of f and g would have to be even, and the other would have to be odd. If k is odd, then any factor f will be odd and will give g = k/f odd, and therefore a and b will be integers. If k is divisible by 4, then f and g must both be even. In other words, f/2 can be any factor of k/4, and each such factor will give a solution for a and b. So that's the idea: If you want all integer solutions, then you have these cases: Case 1: k is odd. Then you factor k and list off all of its factors (and don't forget that every factor will appear once as a positive and once as a negative). Let f be each one in turn, and for each one compute g = k/f a = (f + g)/2 b = (f - g)/2, and those will give you all solutions. Case 2: k is even, but not divisible by 4. Then there are no solutions, for the reasons I gave above. Case 3: k is divisible by 4. Then you factor k/4 and list off all of its factors (see note in case 1). Let f be TWICE each factor in turn, and for each one compute g = k/f a = (f + g)/2 b = (f - g)/2, and those will give you all solutions. Finally, if you just want one solution, and you don't want to factor k, then you can use the obvious factorization (1, k) for odd k, or (2, k/2) for even k. These give you the solutions a = (k + 1)/2, b = (k - 1)/2, and a = (k/4) + 1, b = (k/4) - 1, respectively. If you have any questions about this or need more help, please write back and show me what you have been able to do, and I will try to offer further suggestions. - Doctor Vogler, The Math Forum http://mathforum.org/dr.math/
Search the Dr. Math Library:
Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.