#include <bits/stdc++.h>
const unsigned long long int M = 1000000007;
using namespace std;
long long power(long long x, long long y) {
  long long res = 1;
  while (y > 0) {
    if (y & 1) res = x * res;
    y = y >> 1;
    x = x * x;
  }
  return res;
}
long long power(long long x, long long y, long long mod) {
  long long res = 1;
  while (y > 0) {
    if (y & 1) res = x * res % mod;
    y = y >> 1;
    x = x * x % mod;
  }
  return res;
}
void nik() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
signed main() {
  nik();
  long long test = 1;
  while (test--) {
    long long n;
    cin >> n;
    long long a[n];
    for (long long i = 0; i < n; i++) cin >> a[i];
    sort(a, a + n);
    if (n == 1) {
      return cout << -1, 0;
    }
    long long d = a[1] - a[0];
    long long d2 = a[2] - a[1];
    if (n == 2) {
      long long x = (a[1] - a[0]);
      if (x % 2)
        cout << 2 << "\n" << a[0] - d << " " << a[1] + d;
      else if (x == 0)
        cout << 1 << "\n" << a[0];
      else
        cout << 3 << "\n"
             << a[0] - d << " " << (a[1] - a[0]) / 2 + a[0] << " " << a[1] + d;
      continue;
    }
    if (n == 3) {
      if (d == d2 and d == 0)
        cout << 1 << "\n" << a[0];
      else if (d == d2 and d != 0)
        cout << 2 << "\n" << a[0] - d << " " << a[n - 1] + d;
      else if (d % 2 == 0 and d / 2 == d2)
        cout << 1 << "\n" << a[0] + d / 2;
      else if (d2 % 2 == 0 and d2 / 2 == d)
        cout << 1 << "\n" << a[1] + d2 / 2;
      else
        cout << 0;
      continue;
    }
    long long cnt1 = 0, cnt2 = 0, idx, idx2;
    for (long long i = 1; i < n; i++) {
      if (a[i] - a[i - 1] != d) {
        idx = i;
        cnt1++;
      }
    }
    for (long long i = 1; i < n; i++) {
      if (a[i] - a[i - 1] != d2) idx2 = i, cnt2++;
    }
    if (cnt1 >= 2 and cnt2 >= 2) return cout << 0, 0;
    if (cnt1 < 2) {
      if (cnt1 == 0 and d != 0)
        cout << 2 << "\n" << a[0] - d << " " << a[n - 1] + d;
      else if (cnt1 == 0 and d == 0)
        cout << 1 << "\n" << a[0];
      else {
        long long x = (a[idx] - a[idx - 1]);
        if (x % 2 or x == 0 or x / 2 != d)
          return cout << 0, 0;
        else
          cout << 1 << "\n" << a[idx - 1] + x / 2;
      }
    } else {
      if (cnt2 == 0 and d2 != 0)
        cout << 2 << "\n" << a[0] - d2 << " " << a[n - 1] + d2;
      else if (cnt2 == 0 and d2 == 0)
        cout << 1 << "\n" << a[0];
      else {
        long long x = (a[idx2] - a[idx2 - 1]);
        if (x % 2 or x == 0 or x / 2 != d2)
          return cout << 0, 0;
        else
          cout << 1 << "\n" << a[idx2 - 1] + x / 2;
      }
    }
  }
  return 0;
}
