У вас же всего лишь 160000 различных координат получается. Сможете быстро посчитать, сколько точек в квадрате с заданными углами? Если да, то просто перебираете один угол квадрата, и бинпоиском по стороне находите нужную для этого угла сторону.
Я правильно понимаю, что Вы предлагаете цикл по всем возможным координатам(400х400) (пусть это будет правый верхний угол обрамляющего квадрата), внутри которого бин-поиском определяется длина его стороны, такая что, хотя бы

точек в этот квадрат входят. Процедура возвращает минимальную найденную длину в этом цикле. Так?
Вместо 400, наверное можно использовать

. Подсчет количества точек внутри квадрата с заданным углом и стороной займет

. С учетом бин-поиска по стороне

. С учетом внешнего цикла, асимптотика процедуры

. Так? Обязателен ли цикл
по всей сетке?
Спасибо за Ваш комментарий!