## The challenge#

Complete the function that takes an odd integer (`0 < n < 1000000`) which is the difference between two consecutive perfect squares, and return these squares as a string in the format `"bigger-smaller"`.

Examples

``````9  -->  "25-16"
5  -->  "9-4"
7  -->  "16-9"
``````

## The solution in Java code#

Option 1:

``````public class Solution {
public static String findSquares(final int n) {
final long a = (n + 1) / 2;
final long b = a - 1;
return String.format("%d-%d", a * a, b * b);
}
}
``````

Option 2:

``````interface Solution {
static String findSquares(long n) {
return (n /= 2) * n + 2 * n + 1 + "-" + n * n;
}
}
``````

Option 3:

``````public class Solution{
public static String findSquares(int n){
long n1 = n/2;
long n2 = n1+1;
return String.valueOf(n2*n2)+"-"+ String.valueOf(n1*n1);
}
}
``````

## Test cases to validate our solution#

``````import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class SolutionTest {
@Test
public void testBasicNumbers() {
assertEquals("25-16",Solution.findSquares(9));
}
@Test
public void testSmallerNumbers() {
assertEquals("1-0",Solution.findSquares(1));
}
@Test
public void testBiggerNumbers() {
assertEquals("891136-889249",Solution.findSquares(1887));
assertEquals("2499600016-2499500025",Solution.findSquares(99991));
}
}
``````