We make use of an algorithmic primitive: the Euclidean Mininum Spanning Tree (EMST). An EMST is a MST of points in the plane where the edge-weights are equal to the euclidean distance between the two end-points. This can be found in \(O(n \log n)\) in the algebraic-decision tree model\cite{Buchin_2011}.
By running the EMST we find the closest pair of vertices between convex hulls. By performing our intersection check and adjusting our endpoints, we guarantee that we find the closest pair of points between the boundary of the hulls. The largest separation distance is equal to this value. This follows by simple observation: if we push either of the lines out, we've either swallowed up a vertex or an edge (and two vertices) of the hull. The vertices in our hull are elements of the original pointset, so our lines no longer separate P and Q.