R, 72 6565 62 bytes
r=i=1:2e3 for(a in r)for(b in a+r)i[(b+r)*(a+b)+a*b]=F;which(!!i)+a*b]=F;r[i[r]] Outputs all idoneal numbers in ascending order.
The TIO link will time-out, since r is needlessly set to 1...2000 to save bytes; herehere is a link to a version with r initialized to 1...99 instead, which doesn't time-out (and still gives the right output).