A Modular Arithmetic Challenge
POJ - 3530 https://vjudge.net/problem/POJ-3530
Description
Given four positive integers M, D, L, R, your task is to find the minimal non-negative integer x which satisfies L ≤ ( D × x mod M ) ≤ R, where mod is the remainder operation
Input
The first line contains one number N – the number of test cases.(1 ≤ N ≤ 100)
Each of the following N lines contains four integers M, D, L, R ( 1≤ M, D, L, R ≤ 2,000,000,000)
Output
For each test case, print the minimal x. If there is no such x, print “-1” instead.
Sample Input
4
4 3 1 1
4 2 1 1
4 2 2 4
4 4 4 4
Sample Output
3
-1
1
-1
解题思路
对原式可以化成
L ≤ D x − M y ≤ R L\le Dx-My\le R L≤Dx−My≤