This is my solution for the problem ALCHEMY on SPOJ :

`#include <stdio.h> int main (void) { float a = 1000, b = 37; unsigned long int x, y; float z = a / b; for (x,y; x != -1, y != -1;) { scanf ("%lu %lu", &x, &y); if ((float)x / (float)y == z && x != -1 && y != -1) printf ("Y\n"); else if (x / y != z && x != -1 && y != -1) printf ("N\n"); else if ( y == 0) return 1; else if (x == -1 && y == -1) return 876; } return 0; }`

Even if I enter `x`

and `y`

as `1000`

and `37`

respectively, the first `if`

statement is evaluated as false and it prints `N`

instead of `Y`

. Is it even possible to solve this problem the way I m trying and using `float`

? What am I doing wrong?

Please try to run it once.