code: def test_gf_csolve():
      assert gf_value([1, 7, 2, 4], 11) == 2204
  
      assert linear_congruence(4, 3, 5) == [2]
      assert linear_congruence(0, 3, 5) == []
      assert linear_congruence(6, 1, 4) == []
      assert linear_congruence(0, 5, 5) == [0, 1, 2, 3, 4]
      assert linear_congruence(3, 12, 15) == [4, 9, 14]
      assert linear_congruence(6, 0, 18) == [0, 3, 6, 9, 12, 15]
      # _csolve_prime_las_vegas
      assert _csolve_prime_las_vegas([2, 3, 1], 5) == [2, 4]
      assert _csolve_prime_las_vegas([2, 0, 1], 5) == []
      from sympy.ntheory import primerange
  
      for p in primerange(2, 100):
          # f = x**(p-1) - 1
          f = gf_sub_ground(gf_pow([1, 0], p - 1, p, ZZ), 1, p, ZZ)
          assert _csolve_prime_las_vegas(f, p) == list(range(1, p))
      # with power = 1
      assert csolve_prime([1, 3, 2, 17], 7) == [3]
      assert csolve_prime([1, 3, 1, 5], 5) == [0, 1]
      assert csolve_prime([3, 6, 9, 3], 3) == [0, 1, 2]
      # with power > 1
      assert csolve_prime([1, 1, 223], 3, 4) == [
          4,
          13,
          22,
          31,
          40,
          49,
          58,
          67,
          76,
      ]
      assert csolve_prime([3, 5, 2, 25], 5, 3) == [16, 50, 99]
      assert csolve_prime([3, 2, 2, 49], 7, 3) == [147, 190, 234]
  
      assert gf_csolve([1, 1, 7], 189) == [13, 49, 76, 112, 139, 175]
      assert gf_csolve([1, 3, 4, 1, 30], 60) == [10, 30]
      assert gf_csolve([1, 1, 7], 15) == []
  
imports: from sympy.polys.galoistools import gf_crt, gf_crt1, gf_crt2, gf_int, gf_degree, gf_strip, gf_trunc, gf_normal, gf_from_dict, gf_to_dict, gf_from_int_poly, gf_to_int_poly, gf_neg, gf_add_ground, gf_sub_ground, gf_mul_ground, gf_add, gf_sub, gf_add_mul, gf_sub_mul, gf_mul, gf_sqr, gf_div, gf_rem, gf_quo, gf_exquo, gf_lshift, gf_rshift, gf_expand, gf_pow, gf_pow_mod, gf_gcdex, gf_gcd, gf_lcm, gf_cofactors, gf_LC, gf_TC, gf_monic, gf_eval, gf_multi_eval, gf_compose, gf_compose_mod, gf_trace_map, gf_diff, gf_irreducible, gf_irreducible_p, gf_irred_p_ben_or, gf_irred_p_rabin, gf_sqf_list, gf_sqf_part, gf_sqf_p, gf_Qmatrix, gf_Qbasis, gf_ddf_zassenhaus, gf_ddf_shoup, gf_edf_zassenhaus, gf_edf_shoup, gf_berlekamp, gf_factor_sqf, gf_factor, gf_value, linear_congruence, _csolve_prime_las_vegas, csolve_prime, gf_csolve, gf_frobenius_map, gf_frobenius_monomial_base
  from sympy.polys.polyerrors import ExactQuotientFailed
  from sympy.polys import polyconfig
  from sympy.polys.domains import ZZ
  from sympy.core.numbers import pi
  from sympy.ntheory.generate import nextprime
  from sympy.testing.pytest import raises
label_desc: Use image node_id 34 for calling a global function with example usage: test_gf_csolve() without return types