## https://yukicoder.me/problems/no/2767 import math def solve(A, B): if B == A: return 0 c = B - A sqrt_c = int(math.sqrt(c)) divisors = [] for p in range(1, sqrt_c + 1): if c % p == 0: q = c // p divisors.append(p) if q != p: divisors.append(q) answer_x = float("inf") for p in divisors: # k - 1 = q # X + A = p X = p - A if X >= 0 and (B + X) % (A + X) == 0: answer_x = min( answer_x, X) if answer_x == float("inf"): return -1 else: return answer_x def main(): T = int(input()) answers = [] for _ in range(T): A, B = map(int ,input().split()) ans = solve(A, B) answers.append(ans) for ans in answers: print(ans) if __name__ == "__main__": main()