#include <bits/stdc++.h>
using namespace std;
long long get_gcd(long long a, long long b) {
  return !b ? a : get_gcd(b, a % b);
}
int main() {
  int t;
  long long x, y, p, q, gcd, n;
  scanf("%d", &t);
  while (t--) {
    cin >> x >> y >> p >> q;
    if (p == q) {
      if (x == y)
        puts("0");
      else
        puts("-1");
      continue;
    }
    if (!p) {
      if (!x)
        puts("0");
      else
        puts("-1");
      continue;
    }
    n = max(ceil(x * 1.0 / p), ceil((y - x) * 1.0 / (q - p)));
    cout << n * q - y << endl;
  }
}
