The modulus validation Given a list of math expressions that all hold true and consist of modulo remainder  calculations with two numbers and a result, your task is to yield the first n numbers that hold true for all the statements in the list.

For example:

[m % 3 = 0, m % 4 = 1, m % 5 = 3], where % is the modulo operator.

For n = 3, the first 3 numbers (counting from 0) that fit the sequence  are 33, 93, 153, thus your result would be that (format up to you).

Rules / IO


You take a positive number n and a list of truths. Of course, the things you need take are only the RHS of the modulo operation and the result.
n and the numbers in the list of truths will always be in the range 1 -> 2^31-1, and so are the results.
You take input in any convenient form and output in any convenient form. For example, input: 3 [3 0, 4 1, 5 3] and output: 33 93 153.
It's guaranteed that the solution is mathematically possible.
The source of input can be from a file, function parameters, stdin, etc... Same goes for the output.
No loopholes.
This is code-golf, so the lowest byte count wins.


Testcases

# Input in the form &lt;n&gt;, &lt;(d r), (d2 r2), ...&gt;
# where &lt;d&gt; = RHS of the modulo expression and &lt;r&gt; the result of the expression. Output in the next line.

5, (3 2), (4 1), (5 3)
53 113 173 233 293

3, (8, 0), (13, 3), (14, 8)
120 848 1576


Reference implementation in pseudo-code

n = (an integer from stdin)
truths = (value pairs from stdin)
counter = 0

while n != 0 {
    if matches_criterias(counter, truths) {
        print counter
        n -= 1
    }

    counter += 1
}
Jelly, 7 bytes

%⁼⁴
0ç#


This is a full program. Arguments are divisors, target moduli, and number of solutions, in that order.

Try it online!

How it works

0ç#  Main link.
     Left argument: D (array of divisors)
     Right argument: M (array of target moduli)
     Third argument: n (number of solutions)

0ç#  Execute the helper link with k = 0, 1, 2, ... as left argument and D as the
     right one until n of them return 1. Yield the array of matches.


%⁼⁴  Helper link. Left argument: k. Right argument: D

%    Compute k % d for each d in D.
 ⁼⁴  Compare the result with M.