code: def dup_zz_diophantine(F, m, p, K):
      """Wang/EEZ: Solve univariate Diophantine equations."""
      if len(F) == 2:
          a, b = F
  
          f = gf_from_int_poly(a, p)
          g = gf_from_int_poly(b, p)
  
          s, t, G = gf_gcdex(g, f, p, K)
  
          s = gf_lshift(s, m, K)
          t = gf_lshift(t, m, K)
  
          q, s = gf_div(s, f, p, K)
  
          t = gf_add_mul(t, q, g, p, K)
  
          s = gf_to_int_poly(s, p)
          t = gf_to_int_poly(t, p)
  
          result = [s, t]
      else:
          G = [F[-1]]
  
          for f in reversed(F[1:-1]):
              G.insert(0, dup_mul(f, G[0], K))
  
          S, T = [], [[1]]
  
          for f, g in zip(F, G):
              t, s = dmp_zz_diophantine([g, f], T[-1], [], 0, p, 1, K)
              T.append(t)
              S.append(s)
  
          result, S = [], S + [T[-1]]
  
          for s, f in zip(S, F):
              s = gf_from_int_poly(s, p)
              f = gf_from_int_poly(f, p)
  
              r = gf_rem(gf_lshift(s, m, K), f, p, K)
              s = gf_to_int_poly(r, p)
  
              result.append(s)
  
      return result
  
imports: from sympy.external.gmpy import GROUND_TYPES
  from sympy.core.random import _randint
  from sympy.polys.galoistools import gf_from_int_poly, gf_to_int_poly, gf_lshift, gf_add_mul, gf_mul, gf_div, gf_rem, gf_gcdex, gf_sqf_p, gf_factor_sqf, gf_factor
  from sympy.polys.densebasic import dup_LC, dmp_LC, dmp_ground_LC, dup_TC, dup_convert, dmp_convert, dup_degree, dmp_degree, dmp_degree_in, dmp_degree_list, dmp_from_dict, dmp_zero_p, dmp_one, dmp_nest, dmp_raise, dup_strip, dmp_ground, dup_inflate, dmp_exclude, dmp_include, dmp_inject, dmp_eject, dup_terms_gcd, dmp_terms_gcd
  from sympy.polys.densearith import dup_neg, dmp_neg, dup_add, dmp_add, dup_sub, dmp_sub, dup_mul, dmp_mul, dup_sqr, dmp_pow, dup_div, dmp_div, dup_quo, dmp_quo, dmp_expand, dmp_add_mul, dup_sub_mul, dmp_sub_mul, dup_lshift, dup_max_norm, dmp_max_norm, dup_l1_norm, dup_mul_ground, dmp_mul_ground, dup_quo_ground, dmp_quo_ground
  from sympy.polys.densetools import dup_clear_denoms, dmp_clear_denoms, dup_trunc, dmp_ground_trunc, dup_content, dup_monic, dmp_ground_monic, dup_primitive, dmp_ground_primitive, dmp_eval_tail, dmp_eval_in, dmp_diff_eval_in, dmp_compose, dup_shift, dup_mirror
  from sympy.polys.euclidtools import dmp_primitive, dup_inner_gcd, dmp_inner_gcd
  from sympy.polys.sqfreetools import dup_sqf_p, dup_sqf_norm, dmp_sqf_norm, dup_sqf_part, dmp_sqf_part
  from sympy.polys.polyutils import _sort_factors
  from sympy.polys.polyconfig import query
  from sympy.polys.polyerrors import ExtraneousFactors, DomainError, CoercionFailed, EvaluationFailed
  from sympy.utilities import subsets
  from math import ceil, log
label_desc: Use image node_id 19 for calling a global function with example usage: dup_zz_diophantine(F, m, p, K) and returns: result