#include <bits/stdc++.h>
using namespace std;
int readint() {
  int t = 0;
  char c, ch;
  ch = getchar();
  if (ch == '-')
    c = getchar();
  else
    c = ch;
  while (c < '0' || c > '9') c = getchar();
  while (c >= '0' && c <= '9') {
    t = (t << 3) + (t << 1) + c - '0';
    c = getchar();
  }
  if (ch == '-')
    return -t;
  else
    return t;
}
int main() {
  ios::sync_with_stdio(false);
  int i, j, k, n, y, t;
  cin >> n;
  int arr[n];
  for (i = 0; i <= n - 1; i++) cin >> arr[i];
  sort(arr, arr + n);
  if (n == 1) {
    cout << -1 << endl;
    return 0;
  } else if (n == 2) {
    int x = arr[1] - arr[0];
    set<int> ans;
    ans.insert(arr[0] - x);
    ans.insert(arr[1] + x);
    if (x % 2 == 0) {
      ans.insert(arr[0] + x / 2);
    }
    cout << ans.size() << endl;
    for (typeof(ans.begin()) it = ans.begin(); it != ans.end(); it++) {
      cout << (*it) << " ";
    }
    return 0;
  }
  set<int> s;
  for (i = 0; i <= n - 2; i++) {
    s.insert(arr[i + 1] - arr[i]);
  }
  if (s.size() > 2)
    cout << 0 << endl;
  else {
    if (s.size() == 1) {
      int x = arr[1] - arr[0];
      set<int> ans;
      ans.insert(arr[0] - x);
      ans.insert(arr[n - 1] + x);
      cout << ans.size() << endl;
      for (typeof(ans.begin()) it = ans.begin(); it != ans.end(); it++) {
        cout << (*it) << " ";
      }
    } else {
      int b[2], cnt = 0;
      for (typeof(s.begin()) it = s.begin(); it != s.end(); it++) {
        b[cnt++] = *it;
      }
      int s = b[0], t = b[1], flag = 0;
      if (s == 2 * t || t == 2 * s) {
        int z;
        for (i = 1; i <= n - 2; i++) {
          int diff[n];
          for (i = 1; i <= n - 1; i++) diff[i] = arr[i] - arr[i - 1];
          int p = *min_element(diff + 1, diff + n);
          int flag = 0;
          for (i = 1; i <= n - 1; i++) {
            int x = arr[i] - arr[i - 1];
            if ((x == 2 * p) && flag) {
              cout << 0 << endl;
              return 0;
            } else if (x == 2 * p) {
              z = arr[i - 1] + p;
              flag = 1;
            }
          }
        }
        cout << 1 << endl;
        cout << z << endl;
      } else
        cout << 0 << endl;
    }
  }
  return 0;
}
