Suppose I have a system of equations like this:
\begin{cases} \lfloor x / 100 \rfloor = 4 \pmod 8 \\ \lfloor x / 101 \rfloor = 2 \pmod 8 \\ \lfloor x / 105 \rfloor = 3 \pmod 8 \\ \lfloor x / 106 \rfloor = 7 \pmod 8 \end{cases}
I'm looking for the smallest positive integer solution $x$. Actually, I'm somewhat interested in finding all $x$.
I can find solutions using a brute-force Python script:
for x in range(10**6):
if x//100%8==4 and x//101%8==2 and x//105%8==3 and x//106%8==7:
print(x)
This finds $589254 \leq x \leq 589259$ and $674074 \leq x \leq 674099$. There are more if I search past $10^6$.
Could I reasonably find these solutions by hand? Is there a more efficient way than trying all integers sequentially?
One thought I've had is that the first equation $\lfloor x/100 \rfloor = 4 \pmod 8$ says something like,
$$ \exists k_1 \in \mathbb Z: 400 \leq x + 800k_1 < 500$$
but how do I "intersect" two or more such statements?
You can find the minimum such $x$ via integer linear programming. For example, here is SAS code to do that:
The resulting log is as follows: