I'm trying to write a function that efficiently solves this problem:
Given positive integers m and n, determine whether $\sigma(n)=m$.
Of course I'm looking for a faster technique than "factor n, determine sigma(n), and check if the two are equal" or I wouldn't have posted here. My basic idea is finding small factors of n (or their absence) and short-circuiting if no factorization of the remaining part would give m.
Other tests, like requiring that $n$ be a square or twice a square if $m$ is odd, come to mind.
Any other ideas, or thoughts on how to actually implement this? If $m/n$ is very large it can be disqualified by comparing to a list of superabundant numbers and their abundancies, but if it is within the possible range I'd need to find some equivalent way to disqualify numbers that have no factors below some limit L to which I have tested, and it's not clear how to do this.
(Of course if I'm fortunate enough to find a component $p^a\parallel n$ with $\sigma(p^a)\nmid m$ I'm done, but too many numbers have no small factors to rely on finding this in all cases.)