#include <cmath>
#include <iostream>
void solve( int sum, int mul)
{
std:: cout << "solution for x + y = " << sum << std:: endl
<< " x * y = " << mul << std:: endl ;
const int delta = sum * sum - 4 * mul;
if ( delta < 0 ) {
std:: cout << "No solution" << std:: endl ;
return ;
}
const float sqrtdelta = sqrtf( delta) ;
const float x1 = ( sum + sqrtdelta) / 2 .f ;
const float x2 = ( sum - sqrtdelta) / 2 .f ;
std:: cout << "x = " << x1 << ", y = " << sum - x1 << std:: endl ;
if ( delta ! = 0 ) {
std:: cout << "x = " << x2 << ", y = " << sum - x2 << std:: endl ;
}
}
int main( int argc, char * argv[ ] )
{
solve( 5 , 6 ) ; // 2, 3
solve( - 5 , 6 ) ; // -2, -3
solve( 5 , - 6 ) ; // -1, 6
solve( - 5 , - 6 ) ; // -6, 1
solve( 2 , 4 ) ; // No solution
return 0 ;
}
I2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp2b2lkIHNvbHZlKGludCBzdW0sIGludCBtdWwpCnsKICAgIHN0ZDo6Y291dCA8PCAic29sdXRpb24gZm9yIHggKyB5ID0gIiA8PCBzdW0gPDwgc3RkOjplbmRsCiAgICAgICAgICAgICAgPDwgIiAgICAgICAgICAgICB4ICogeSA9ICIgPDwgbXVsIDw8IHN0ZDo6ZW5kbDsKICAgIGNvbnN0IGludCBkZWx0YSA9IHN1bSAqIHN1bSAtIDQgKiBtdWw7CiAgICBpZiAoZGVsdGEgPCAwKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJObyBzb2x1dGlvbiIgPDwgc3RkOjplbmRsOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGNvbnN0IGZsb2F0IHNxcnRkZWx0YSA9IHNxcnRmKGRlbHRhKTsKICAgIGNvbnN0IGZsb2F0IHgxID0gKHN1bSArIHNxcnRkZWx0YSkgLyAyLmY7CiAgICBjb25zdCBmbG9hdCB4MiA9IChzdW0gLSBzcXJ0ZGVsdGEpIC8gMi5mOwoKICAgIHN0ZDo6Y291dCA8PCAieCA9ICIgPDwgeDEgPDwgIiwgeSA9ICIgPDwgc3VtIC0geDEgPDwgc3RkOjplbmRsOwogICAgaWYgKGRlbHRhICE9IDApIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgInggPSAiIDw8IHgyIDw8ICIsIHkgPSAiIDw8IHN1bSAtIHgyIDw8IHN0ZDo6ZW5kbDsKICAgIH0KfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogICAgc29sdmUoNSwgNik7ICAgLy8gMiwgMwogICAgc29sdmUoLTUsIDYpOyAgLy8gLTIsIC0zCiAgICBzb2x2ZSg1LCAtNik7ICAvLyAtMSwgNgogICAgc29sdmUoLTUsIC02KTsgLy8gLTYsIDEKICAgIHNvbHZlKDIsIDQpOyAvLyBObyBzb2x1dGlvbgoKICAgIHJldHVybiAwOwp9Cg==
stdout
solution for x + y = 5
x * y = 6
x = 3, y = 2
x = 2, y = 3
solution for x + y = -5
x * y = 6
x = -2, y = -3
x = -3, y = -2
solution for x + y = 5
x * y = -6
x = 6, y = -1
x = -1, y = 6
solution for x + y = -5
x * y = -6
x = 1, y = -6
x = -6, y = 1
solution for x + y = 2
x * y = 4
No solution