onversión de números dentro de la cuadrícula a sus correspondientes coordenadas x, y

Dados los números en la siguiente cuadrícula (del 1 al 36), ¿cómo puedo determinar sus coordenadas (x, y) dentro de la cuadrícula?

 |  0  1  2  3  4  5  6  7  8
------------------------------
0|  1  2  3  4  5  6  7  8  9
1| 10 11 12 13 14 15 16 17 18
2| 19 20 21 22 23 24 25 26 27
3| 28 29 30 31 32 33 34 35 36

es decir. lo que quiero obtener es lo siguiente:

 |     0     1     2        8
------------------------------
0| (0,0) (1,0) (2,0) ... (8,0)
1| (0,1) (1,1) (2,1) ... (8,1)
2| (0,2) (1,2) (2,2) ... (8,2)
3| (0,3) (1,3) (2,3) ... (8,3)

Yo he tratado

x = number%9-1;
y = number/9;

que funciona para todos los casos, excepto los de la última columna de la derecha.

Así se me ocurrió:

if (number%9==0) {
    x = 8;
    y = number/9-1;
}
else{
    x = number%9-1;
    y = number/9;
}

Mi pregunta es, ¿hay alguna forma más inteligente de hacer esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta