RT,比较正常的思路 错的1,2,7,8
// Problem: P5656 【模板】二元一次不定方程(exgcd)
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P5656
// Memory Limit: 16 MB
// Time Limit: 500 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,a,b,c,A,B;
int Min(int a,int b)
{
return (a<b?a:b);
}
int E(int x,int y)
{
int sum,f;
if(!y){A=1;B=0;return x;}
sum=E(y,x%y);
f=A;
A=B;
B=f-B*(x/y);
//cout<<a<<' '<<b<<' '<<x<<' '<<y<<endl;
return sum;
}
void done()
{
int g=E(a,b),as1,as2,as3,as4,as5,pd=1,s1n,s3n;
if(c%g){cout<<-1<<endl;return;}
A=A*c/g;B=B*c/g;
as1=A-(A/(b/g))*(b/g);//A_min
s1n=(A/(b/g));
if(A-(A/(b/g))*(b/g)<=0)
{
as1+=(b/g);
s1n--;
}
as2=B+(s1n*a/g);//B_max
if(as2<0)
{
pd=0;
}
as3=B-(B/(a/g))*(a/g);//B_min
s3n=(B/(a/g));
if(B-(B/(a/g))*(a/g)<=0)
{
s3n--;
as3+=(a/g);
}
as4=A+(s3n*b/g);
if(as4<0)
{
pd=0;
}
if(pd)
{
//正常五个
cout<<(as2-as3)/(a/g)+((as2-as3)%(a/g)==0?1:0)<<' '<<as1<<' '<<as3<<' '<<as4<<' '<<as2<<endl;
}
else
{
//无正整数解
cout<<as1<<' '<<as3<<endl;
}
}
signed main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b>>c;
done();
}
return 0;
}