1. Java,  Evgeni Pavlidis


/**
* ACM programming Contest WS 08/09
* UVa Status: accepted
* Run Time: 0.110
* @author Evgeni Pavlidis evgenipavlidis@yahoo.de
*/
import java.io.*;
import java.util.*;


class Main {

public static void main(String... args)
{
final int startX = 3;
final int startY = 2;
int x=startX,y=startY,newX,newY;

for(int i = 0; i < 10; i++)
{
newX = startX*x + startY*2*y;
newY = startX*y + startY*x;
x=newX;
y=newY;
System.out.printf("%10d%10d\n", y/2,(x-1)/2 );
}

System.exit(0);
}
}

2. Java, Peter Schnitzler

/* Problem : 138
Name : Peter Schnitzler
Status : AC
Runntime : 2.42
*/


public class Main
{


public static void main(String[] args)
{
long [][] results = new long [2][10];


int resultCount = 0; //found results
long houseNumber = 2; //current house numebr
long low = 1; //sum of housenumbers under the house
long up = 3; //sum of housenumbers over the house
long length = 3; //length of the street

while (resultCount < 10)
{
if (low < up)
{
low += houseNumber;
houseNumber++;
up -= houseNumber;
continue;
}

if (low > up)
{
length++;
up += length;
continue;
}

if (low == up)
{
results[0][resultCount] = houseNumber;
results[1][resultCount] = length;
resultCount++;

low += houseNumber;
houseNumber++;
up -= houseNumber;
}
}

String sp[] = new String[10];
//white spaces for corrcet formating
sp[0] = "";
sp[1] = " ";
sp[2] = " " ;
sp[3] = " ";
sp[4] = " ";
sp[5] = " ";
sp[6] = " ";
sp[7] = " ";
sp[8] = " ";
sp[9] = " ";

//output
for (int count = 0; count < 10; count++)
{
int countFirst = 10;
int countSecond = 10;
long tempFirst = results[0][count];
long tempSecond = results[1][count];

while (tempFirst > 0)
{
tempFirst /= 10;
countFirst--;
}

while (tempSecond > 0)
{
tempSecond /= 10;
countSecond --;
}

System.out.println(sp[countFirst] + results[0][count] + sp[countSecond] + results[1][count]);
}

}

}

3. Java, Gunnar Hage

/**
* FWP-Fach: ACM programming Contest WS 08/09 "138 - Street Numbers"
* Verdict: Accepted / 0.090
*
* Gunnar Hage, gunnarhage@gmx.de
* AP5(IFB5A) Nov. 2008
*
* Problembeschreibung: http://icpcres.ecs.baylor.edu/onlinejudge/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=74
*/

public class Main {
public static void main(String[] args) {

int x=3; int y=2;
int xn, yn;

for(int i=0; i<10; i++)
{
xn = 3*x + 4*y;
yn = 3*y + 2*x;
x = xn;
y = yn;
System.out.printf("%10d%10d\n", y/2, (x-1)/2);
}
}
}