Given:
a finite collection $V$ of bi-infinite linear sequences of two-dimensional integer lattice points, each sequence ${V_i}$ given by $\cdots,\vec{{V_i}_{-1}},\vec{{V_i}_0},\vec{{V_i}_1},\cdots$ where $\vec{{V_i}_j} = \vec{{V_i}_0} + j \times \vec{d_i}$ for $j \in \mathbb{Z}$. (A natural way to represent a sequence like this would be with the pair $(\vec{{V_i}_0}, \vec{d_i})$, with $\vec{{V_i}_0}$ chosen arbitrarily among the elements of ${V_i}$)
a single sequence $Q$ of the same type as an element of $V$ and similarly represented
it is known that any two sequences in $V \cup \{Q\}$ share at most one point
it is known that there are no "vertical", "horizontal" or constant sequences: the difference between successive elements in each sequence is always nonzero in both dimensions
I am interested in deciding whether any element of $V$ shares a point with $Q$. Allowing reasonable one-time precomputation for fixed $V$, is there an algorithm that decides this in less than linear time with respect to the size of $V$, for varying $Q$?
In other words, can we do pessimistically better than checking every element of $V$ for collision with $Q$?
I don't actually need to find the element of $V$ that shares a term with $Q$. I only need to know if such an element exists.