Допустим, x1, y1, x2, y2 - целые.
Пусть x1=y1=0 (достигается: x2=-x1; y2=-y1;).
Ищем k=
НОД(x2,y2) (там по ссылке есть алгоритмы).
Делим x2 и y2 на к - это координаты первой точки.
Умножаем координаты первой точки на 2,...,(k-1) - получаем все остальные точки (конечные точки и первая точка считаются уже найденными, их не выводим; если надо все - то ряд будет 0,1,...,k).