SUBROUTINE PATH(XX,XX1,KDIM) 2,1

      IMPLICIT NONE
      INTEGER KDIM,NPAS
      include 'champ.cdk'
      include 'chobs.cdk'

      REAL XX(KDIM),XX1(KDIM),JX

      EXTERNAL MODDIR

      NPAS=100
      GRFLAG = 0 
      OBFLAG = 0
      TRFLAG = 1
      JXFLAG = 1
      TEFLAG = 0

C     -------- CHEMIN ENTRE DEUX SOLUTIONS ----------------
c      open (15,file='newguess.io',status='unknown')
c        read(15,102) ((ZO(IW,JW),IW=1,IKTX),JW=1,IKTY)
c        read(15,102) ((SO(IW,JW),IW=1,IKTX),JW=1,IKTY)
c      close(15)
c 102  format(8e13.7)
c      DO IKX=1,IKTX
c         DO IKY=1,IKTY
c           ZCONT(IKX,IKY,1) = ZO(IKX,IKY)
c           SO(IKX,IKY) = CMPLX(0.,0.)
c         ENDDO
c      ENDDO
C     -------- CHEMIN ENTRE DEUX SOLUTIONS ----------------


      open (11,file='funcj.dat',status='unknown')

C     ------------------------------------------------------------
      NCO=0
      DO IKX=1,IKTX
       DO IKY=1,IKTY
         IF (L(IKX+KTX,IKY).EQ.1) THEN
          NCO = NCO + 1
          XX1(NCO) = REAL(ZCONT(IKX,IKY,1))
          NCO = NCO + 1
          XX1(NCO) = AIMAG(ZCONT(IKX,IKY,1))
         ENDIF
       ENDDO
      ENDDO
      DO IKX=1,IKTX
       DO IKY=1,IKTY
         IF (L(IKX+KTX,IKY).EQ.1) THEN
          NCO = NCO + 1
          XX(NCO) = 0.0
          NCO = NCO + 1
          XX(NCO) = 0.0
         ENDIF
       ENDDO
      ENDDO

      DO IKX=1,KDIM
       XX1(IKX)=2*(XX(IKX)-XX1(IKX))/NPAS
        XX(IKX)=XX(IKX) + NPAS*XX1(IKX)/4
      ENDDO

      DO IW=1,NPAS

       DO IKX=1,KDIM
        XX(IKX)=XX(IKX)-XX1(IKX)
       ENDDO

       NCO=-1
       DO IKX=1,IKTX
       DO IKY=1,IKTY
         IF (L(IKX+KTX,IKY).EQ.1) THEN
          NCO = NCO + 2
          ZO(IKX,IKY) = CMPLX(XX(NCO),XX(NCO+1))
         ELSE
          ZO(IKX,IKY) = CMPLX(0.,0.)
         ENDIF
       ENDDO
       ENDDO
       DO IKX=1,IKTX
       DO IKY=1,IKTY
         IF (L(IKX+KTX,IKY).EQ.1) THEN
          NCO = NCO + 2
          SO(IKX,IKY) = CMPLX(0.,0.)
         ELSE
          SO(IKX,IKY) = CMPLX(0.,0.)
         ENDIF
       ENDDO
       ENDDO

       CALL MODDIR(JX)

       write(11,101) IW,JX
 101   format(i10,e13.4)

      ENDDO

      close(11)
 
      RETURN
      END