Speeding up Pythogrean triple calculator
<p>So far my code runs fine, but I need a way to speed it up. When the user enters max_values to be 25000 it takes about 1.81 seconds and I need it to be less than one second. I tried my best to optimize my triples method but I don't know what else to do.</p>

<pre><code>import java.util.InputMismatchException;
import java.util.Scanner;

public class Pythagorean {

public static void triples(int max_values){
    int x = 0;
    for(int c = 5; c &lt;= max_values; c++){
        int cTwo = c * c;
        int b = c - 1;
        for (int a = 0;a &lt;= cTwo - b*b;a++){
            if (a*a + b*b == cTwo){
                x++;
                System.out.println(x + ") " + a + " " + b + " " +c);
            }
        }
    }
}

public static void main(String[] args){
    System.out.println("--- Pythagorean Triple Generator ---");
    System.out.println();
    Scanner input = new Scanner(System.in);
    int max_value = 0;
    System.out.print("Enter max value for c: ");
    try{
        max_value = input.nextInt();
    } catch (InputMismatchException ime) {
        input.nextLine();
        System.err.println("Error: Input is not an integer.");
        System.exit(1);
    }
    input.close();
    long start = System.currentTimeMillis();
    triples(max_value);
    double elapsed = (System.currentTimeMillis() - start)/ 1000.0;
    System.out.println("Searching complete...");
    System.out.printf("Elpased time: %.3f\n", elapsed);
}
}
</code></pre>
