Если ваши конечные точки (x1, y1) и (x2, y2) и у вас есть случайное число r в диапазоне от 0 до 1, точка вдоль линии будет:
(x1+(x2-x1)*r,y1+(y2-y1)*r)
С заданными вами конечными точками (1952805748,0) и (7,42) со случайным значением 0,5 (на полпути вдоль линии) вы получите:
(976402877.5,21)
, который вы можете легко определить как середину. Вы можете округлить любые координаты, если вам нужны целые числа.
После вашего комментария (перефразировано):
I may not have explained this properly: one person would be given (x1,y1) different person would be given (x3,y3). At no point would a person be able to take a single point and figure out where the line crosses x (N,0).
Учитывая, что ваш (x1, y1) был (1952805748,0), тот, кто имеет это, знает пересечение оси x (так как y = 0). Звучит так, будто вы хотите две точки вдоль линии, где ни одна не находится на оси х. Это означает, что одна сторона должна получить вашу случайно выбранную конечную точку (7,42), а другая - вашу случайную точку на линии (976402877.5,21) - ни одна из этих точек не должна иметь значение y, равное нулю. Этого можно добиться, убедившись, что случайное значение было в диапазоне от 0,2 до 1,0, а не от 0,0 до 1,0 (при условии, что ваш y1 всегда равен 0).
Ни одна из сторон не может решить, что ось X пересекается с их одной координатой, но две координаты, объединенные, дадут вам эту информацию.
Кроме того, в этом случае округление или ордината не будут подходящими, вам придется сопоставить их, например (976402877.5,21), став (1952805755,42) [умножить на 2, что является простейшим целочисленным соотношением].