For each pair of reads, keep track of all potential offsets. In particular, for two reads \(A\) and \(B\) that overlap on \(n\) basepairs where each of them has an indel rate of \(p=0.1\), we can crudely model the deviation of the offset as a random walk on \(\Z\), where for each pair of nucleotides there is a \(0.1\) chance of moving from \(n\) to \(n+1\) and \(0.1\) change of moving to \(n-1\). Thus, when we bucket all candidate overlaps into buckets of size \(\sqrt n\) we expect one (or possibly two adjacent) bucket(s) to contain all the true positive pairs of matching windows.