I kind of got crazy with this challenge. After a day at refining my solution, I end up with a pretty efficient solution. The script is able to find the 18th perfect number under 14s on my computer.
Since the solution is a bit long and require some explanations, I wrote everything on a gist.
If anyone found a way to reduce computations, I would greatly appreciate.