Assuming the numbers are integers >= 1, the sum of two reciprocals is less than 1 unless one integer is 1, or both integers are two.
So assuming you have X array elements > 2, Y array elements = 2, and Z array elements = 1, your solution will contain (X+Y) (X+Y+1)/2 - Y(Y+1)/2 = X(X+1)/2 + XY pairs of numbers.
If you represent the solution as pairs of numbers, then the time is at least as large as the size of the solution, which will be quadratic unless Z is very large.
It's in the nature of the problem that the solution is HUGE and therefore it takes a long time to produce the solution.
If your numbers are reals, you throw away anything >= 1, split into number <= 2 and numbers > 2. All pairs of numbers > 2 are solutions, the number of these pairs can be quadratic. Pairs of numbers <= 2 are not solutions. What remains are pairs of one number <= 2 and one number > 2. Sort the smaller set, then for each member x of the larger set use binary search to find all elements y of the other set with y > x / (x - 1). This works especially well if one set is small.
Of course you can avoid all the difficulties with reciprocals if you just replace each number x with 1/x.