Как найти все целочисленные точки отрезка?
Для произвольных (x₁, y₁) и (x₂, y₂), IMHO, только брать все целые значения между x₁ и x₂ и проверять значение y в полученных точках.
Для целочисленных (x₁, y₁) и (x₂, y₂) можно так:
n = НОД(|x₂ − x₁|, |y₂ − y₁|)
dx = (x₂ − x₁) / n
dy = (y₂ − y₁) / n
И взять все пары (x₁ + dx × i, y₁ + dy × i) для i = 1 .. n − 1
Алгоритм Брезенхема?