Perfect number Calculation Perfect numbers are strictly positive whole numbers of which the sum of their positive divisors equals a multiple of the number itself. An example of a 3-perfect number is 120. The sum of all divisors of 120, namely 1+2+3+4+5+6+8+10+12+15+20+24+30+40+60+120 = 360 equals three times 120.

My code does work, but it's not really efficient (if you have 2 very large number, it will take a very long time). Is there a more elegant way to solve this problem?

public class Main {

    public static void main(String[] args) {
        int number1 = 10;
        int number2 = 50;
        boolean found = false;
        int perfectNumber = 0;
        int multiplier = 0;
        for(int i = number1; i&lt;=number2 &amp;&amp; !found;i++){
            if(i%2==0){
                int somDivisors = lookSomeDivisors(i);
                if(somDivisors%i==0){
                    perfectNumber = i;
                    multiplier = somDivisors/i;
                    found=true;
                }
            }
        }
        System.out.println("Number1: " + number1 + " Number2: " + number2);
        System.out.println("PerfectNumber: " + perfectNumber + " Multiplier: " + multiplier);
    }

    private static int lookSomeDivisors(int number) {
        int som = 0;
        for(int i=1;i&lt;=number;i++){
            if(number%i==0){
                som+= i;
            }
        }return som;
    }
}
Well, if you are interested in number-theoretical solutions, take a look at the wiki page referenced in one of the comments to your question. It does not apply directly to your problem,  but you can lift some useful insights from it. 

As to your "brute force" solution, first of all, note, that, when looking for divisors you only need to test values up to Math.sqrt(number), there is no need to go higher, because everything you can find there can be obtained easier by diving number by one of the divisors found so far.
Further, if a number is odd, it cannot have any even divisors, so once a test for number % 2 fails, there is no need to test 4 or 6 or 8 ... Same goes for other divisors: once you test and fail for number % 3, you can exclude 6, 9, 12 etc. 

What this boils down to is that to find all divisors of a number you only need to test its divisibility by every prime number between 1 and Math.sqrt(number). If you find and hardcode a large enough list of first N primes, your program can be much faster, at least, for input numbers up to the last of your primes squared.