Obtain Two Zeroes (Codeforces 1260B)
Tags: Math, binary search

You are given two integers $$$a$$$ and $$$b$$$. You may perform any number of operations on them (possibly zero).During each operation you should choose any positive integer $$$x$$$ and set $$$a := a - x$$$, $$$b := b - 2x$$$ or $$$a := a - 2x$$$, $$$b := b - x$$$. Note that you may choose different values of $$$x$$$ in different operations.Is it possible to make $$$a$$$ and $$$b$$$ equal to $$$0$$$ simultaneously?Your program should answer $$$t$$$ independent test cases.

Input: The first line contains one integer $$$t$$$ ($$$1 \le t \le 100$$$) — the number of test cases.Then the test cases follow, each test case is represented by one line containing two integers $$$a$$$ and $$$b$$$ for this test case ($$$0 \le a, b \le 10^9$$$).

Output: For each test case print the answer to it — YES if it is possible to make $$$a$$$ and $$$b$$$ equal to $$$0$$$ simultaneously, and NO otherwise.You may print every letter in any case you want (so, for example, the strings yEs, yes, Yes and YES will all be recognized as positive answer).

Note: In the first test case of the example two operations can be used to make both $$$a$$$ and $$$b$$$ equal to zero:  choose $$$x = 4$$$ and set $$$a := a - x$$$, $$$b := b - 2x$$$. Then $$$a = 6 - 4 = 2$$$, $$$b = 9 - 8 = 1$$$;  choose $$$x = 1$$$ and set $$$a := a - 2x$$$, $$$b := b - x$$$. Then $$$a = 2 - 2 = 0$$$, $$$b = 1 - 1 = 0$$$. 

Sample Inputs:
3
6 9
1 1
1 2

Sample Outputs:
YES
NO
YES

Solution (Python):
n = int(input())
for _ in range(n):
    (a, b) = map(int, input().split())
    if b < a:
        temp = a
        a = b
        b = temp
    temp = b - 2 * (b - a)
    a = a - (b - a)
    b = temp
    if a < 0:
        print('NO')
        continue
    if a % 3 == 0:
        print('YES')
    else:
        print('NO')

Solution (Python):
t = int(input())
for _ in range(t):
    (a, b) = map(int, input().split())
    if a > b:
        (a, b) = (b, a)
    print('YES' if (a + b) % 3 == 0 and a * 2 >= b else 'NO')

Solution (Python):
for t in range(int(input())):
    (a, b) = map(int, input().split())
    if a > b:
        (a, b) = (b, a)
    print('YES' if (a + b) % 3 == 0 and a * 2 >= b else 'NO')