Dividi il primo quadrante (includendo l'asse x positivo, l'asse y positivo e l'origine) in griglie 1x1, con ciascuna griglia etichettata dalle coordinate del suo angolo inferiore sinistro, come mostrato di seguito:

Si noti che ogni griglia contiene i suoi confini e i suoi vertici. Usando i simboli matematici, la griglia etichettata (m, n) rappresenterebbe il quadrato {(x,y) | m ≤ x ≤ m+1, n ≤ y ≤ n+1}.
Data una linea retta sotto forma di ax+by+c=0numeri interi ae b, e c, e una griglia rappresentata da (m,n), indica se la linea passa attraverso la griglia, ovvero se sulla linea è presente un punto qualsiasi della griglia.
a b c m n output
1 1 0 0 0 true
1 1 0 1 1 false
1 1 0 0 2 false
1 1 -3 0 1 true
1 1 -3 0 0 false
2 -1 0 1 1 true
2 -1 0 1 0 false
2 -1 0 0 2 true
2 -1 0 0 1 true
2 -1 0 1 2 true
2 0 -1 0 0 true
2 0 -1 0 1 true
2 0 -1 0 2 true
2 0 -1 1 0 false
2 0 -1 1 1 false
0 2 -1 0 0 true
0 2 -1 1 0 true
0 2 -1 2 0 true
0 2 -1 0 1 false
0 2 -1 1 1 false
1 0 -1 0 0 true
1 0 -1 0 1 true
1 0 -1 0 2 true
1 0 -1 1 0 true
1 0 -1 1 1 true
Si prega di suggerire ulteriori test nei commenti.
Questo è code-golf . Vince la risposta più breve in byte. Si applicano scappatoie standard .
[a, b, c](la linea) e [m, n](il quadrato)?