>>423
#include <stdio.h>
void extended_gcd(int a, int b, int *x, int *y, int *g) {
    int tx = 0, lastx = 1, ty = 1, lasty = 0, temp, quotient;
    while (b != 0) {
        temp = b; quotient = a / b; b = a % b; a = temp;
        temp = tx; tx = lastx - quotient * tx; lastx = temp;
        temp = ty; ty = lasty - quotient * ty; lasty = temp;
    }
    *x = lastx; *y = lasty; *g = a;
}
int main(void) {
    int i, a[] = {88, 84, 87, 84, 92, 78, 28, 90, 96, 54}, b[] = {70, 86, 81, 74, 96, 63, 50, 35, 14, 69}, x, y, g;
    for (i = 0; i < sizeof(a) / sizeof(a[0]); i++) {
        extended_gcd(a[i], b[i], &x, &y, &g);
        printf("%d*%d+%d*%d=%d\n", a[i], x, b[i], y, g);
    }
    return 0;
}

【実行例】
88*4+70*-5=2
84*-1+86*1=2
87*-13+81*14=3
84*15+74*-17=2
92*-1+96*1=4
78*-4+63*5=3
28*9+50*-5=2
90*2+35*-5=5
96*-1+14*7=2
54*9+69*-7=3