#include <bits/stdc++.h>
using namespace std;
bool isPossible(long long k, long long x, long long y, long long p,
                long long q) {
  p = p * k;
  q = q * k;
  if (x > p || y > q) {
    return false;
  }
  if (q - y < p - x) {
    return false;
  }
  return true;
}
long long solve(long long x, long long y, long long p, long long q) {
  long long low = 1;
  long long high = 1e9;
  while (low < high) {
    long long mid = low + (high - low) / 2;
    if (!isPossible(mid, x, y, p, q)) {
      low = mid + 1;
    } else {
      high = mid;
    }
  }
  if (!isPossible(low, x, y, p, q)) {
    return -1;
  }
  return (q * low - y);
}
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long x, y, p, q;
    cin >> x >> y >> p >> q;
    cout << solve(x, y, p, q) << endl;
  }
  return 0;
}
