Axy+Bx+Cy+D=0Axy+Bx+Cy+D=0

시간 제한1초메모리 제한1024 MB

요약
정수 A, B, C, D가 주어질 때 Axy + Bx + Cy + D = 0을 만족하는 정수 순서쌍 (x, y)를 모두 오름차순으로 출력하거나 해가 무수히 많으면 INFINITY를 출력한다.
난이도

보통10점 중 6점

유형
정수론, 수학, 완전 탐색, 정렬
정답자
아직 제출이 없습니다

문제

정수 A,B,C,DA,B,C,D가 주어졌을 때, Axy+Bx+Cy+D=0Axy+Bx+Cy+D=0을 만족하는 정수해 (x,y)\left(x,y\right)를 모두 구하여라.

입력

첫 번째 줄에 정수 A,B,C,D(−109≤A,B,C,D≤109)A,B,C,D(-10^9\le A,B,C,D\le 10^9)가 공백으로 구분되어 주어진다.

출력

첫 줄에 Axy+Bx+Cy+D=0Axy+Bx+Cy+D=0을 만족하는 모든 서로 다른 정수해 (x,y)(x,y)의 개수를 출력한다. 만약 해가 무수히 많다면 INFINITY를 출력한다.

해가 유한하다면, 두 번째 줄 부터 차례로 모든 서로 다른 정수해 (x,y)(x,y)를 한 줄에 하나씩 공백으로 구분하여 출력한다.

해의 출력 순서는 xx값에 대해 오름차순으로, xx값이 같다면 yy값에 대해 오름차순으로 출력한다.

예제6

  1. 예제 1

    입력
    2 0 0 12
    
    예상 출력
    8
    -6 1
    -3 2
    -2 3
    -1 6
    1 -6
    2 -3
    3 -2
    6 -1
    
  2. 예제 2

    입력
    2 0 0 11
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1 2 9 12
    
    예상 출력
    8
    -15 -3
    -12 -4
    -11 -5
    -10 -8
    -8 4
    -7 1
    -6 0
    -3 -1
    
  4. 예제 4

    입력
    1 2 9 -12
    
    예상 출력
    16
    -39 -3
    -24 -4
    -19 -5
    -15 -7
    -14 -8
    -12 -12
    -11 -17
    -10 -32
    -8 28
    -7 13
    -6 8
    -4 4
    -3 3
    1 1
    6 0
    21 -1
    
  5. 예제 5

    입력
    0 14 15 1
    
    예상 출력
    INFINITY
    
  6. 예제 6

    입력
    0 14 16 1
    
    예상 출력
    0