Текст подпрограммы и версий
pa15r_c.zip 
Тексты тестовых примеров
tpa15r_c.zip 

Подпрограмма:  pa15r_c

Назначение

Решение уравнения Диофанта.

Математическое описание

Подпрограмма pa15r_c вычисляет частное решение уравнения

           a x  +  b y   =   c 

в целых числах, где  a,  b и  c - заданные целые числа, причем значения  a и  b  не равны нулю.

Использование

    int pa15r_c(integer *a, integer *b, integer *c, integer *q,
        integer *x, integer *y, integer *ierr)

Параметры

 a, b, c - заданные значения коэффициентов исходного уравнения, a ≠ 0, b ≠ 0 (тип: целый);
q - целый одномерный массив, длина которого должна быть в пять раз больше, чем количество цифр в максимальном по модулю из чисел  a,  b и  c;
 x, y - целые переменные, значения которых на выходе полагаются равными вычисленному частному решению исходного уравнения;
ierr - целая переменная, значение которой полагается равной признаку выявленной ошибки при счете; при этом:
ierr=65 - когда исходное уравнение не определено;
ierr=66 - когда решения исходного уравнения в целых числах не существует.

Версии: нет

Вызываемые подпрограммы: нет

Замечания по использованию: нет

Пример использования

int main(void)
{
    /* Local variables */
    extern int pa15r_c(int *, int *, int *,
                       int *, int *, int *, int *);
    static int ierr, a, b, c__, q[5], x, y;

    a = 1;
    b = 3;
    c__ = 4;
    pa15r_c(&a, &b, &c__, q, &x, &y, &ierr);

    printf("\n %5i \n", ierr);
    printf("\n %5i  %5i \n", x, y);
    return 0;
} /* main */


Результаты:

       ierr = 0 
       x = 1 
       y = 1